Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Raw • Download


meshchatx/src/frontend/components/TutorialModal.vue 4ac27014224b2736d264462a4829aad30dcb4873 (4ac27014) Text, 199.72 KB

T8b949e<!-- SPDX-License-Identifier: 0BSD -->

Tb4b4b4<Tff7b72templateTb4b4b4>
Tb4b4b4<Tff7b72v-dialog
Te6edf3v-ifTff7b72=Ta5d6ff"Tff7b72!Te6edf3isPageTa5d6ff"
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3visibleTa5d6ff"
Tb4b4b4:Te6edf3fullscreenTff7b72=Ta5d6ff"Te6edf3dialogFullscreenTa5d6ff"
Te6edf3max-widthTff7b72=Ta5d6ff"800"
Te6edf3scrollable
Te6edf3transitionTff7b72=Ta5d6ff"dialog-bottom-transition"
Te6edf3classTff7b72=Ta5d6ff"tutorial-dialog"
Te6edf3persistent
Tb4b4b4@Te6edf3updateTb4b4b4:Te6edf3model-valueTff7b72=Ta5d6ff"Te6edf3onVisibleUpdateTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-card
Te6edf3classTff7b72=Ta5d6ff"flex min-h-0 flex-1 flex-col bg-white dark:bg-zinc-950 border-0 overflow-hidden relative h-full max-h-dvh"
Tb4b4b4>
T8b949e<!-- Settings Controls -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"absolute top-4 left-4 z-50 flex items-center gap-1"Tb4b4b4>
Tb4b4b4<Tff7b72LanguageSelector Tb4b4b4@Te6edf3language-changeTff7b72=Ta5d6ff"Te6edf3onLanguageChangeTa5d6ff" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"rounded-full p-1.5 sm:p-2 text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-zinc-800 transition-colors"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3configTff7b72?Tb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff'dark' Tff7b72? Ta5d6ff'Switch to light mode' Tff7b72: Ta5d6ff'Switch to dark mode'Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3toggleThemeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3configTff7b72?Tb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff'dark' Tff7b72? Ta5d6ff'brightness-6' Tff7b72: Ta5d6ff'brightness-4'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-5 h-5 sm:w-6 sm:h-6"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Progress Bar -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-full h-1.5 bg-gray-100 dark:bg-zinc-900 overflow-hidden flex"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3step Tff7b72in Te6edf3totalStepsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3stepTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"h-full transition-all duration-500 ease-out"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3currentStep Tff7b72>= Te6edf3step Tff7b72? Ta5d6ff'bg-blue-500' Tff7b72: Ta5d6ff'bg-transparent'Tb4b4b4,
Te6edf3currentStep Tff7b72=== Te6edf3step Tff7b72? Ta5d6ff'flex-2' Tff7b72: Ta5d6ff'flex-1'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{ Te6edf3borderRightTff7b72: Te6edf3step Tff7b72< Te6edf3totalSteps Tff7b72? Ta5d6ff'1px solid rgba(0,0,0,0.05)' Tff7b72: Ta5d6ff'none' Tb4b4b4}Ta5d6ff"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Content Area -->
Tb4b4b4<Tff7b72v-card-text
Te6edf3classTff7b72=Ta5d6ff"relative min-h-0 flex-1 overflow-y-auto overscroll-contain px-4 py-6 sm:px-6 md:px-12 md:py-10"
Tb4b4b4>
Tb4b4b4<Tff7b72transition Te6edf3nameTff7b72=Ta5d6ff"fade-slide" Te6edf3modeTff7b72=Ta5d6ff"out-in"Tb4b4b4>
T8b949e<!-- Step 1: Welcome -->
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff1Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step1" Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center text-center space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"relative"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-24 h-24 bg-blue-500/10 rounded-3xl rotate-12 absolute -inset-2"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72img Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3logoUrlTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"w-24 h-24 relative z-10 p-2" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h1 Te6edf3classTff7b72=Ta5d6ff"text-4xl font-black tracking-tight text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.welcome"Tb4b4b4) Tff7b72}} Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-blue-500"Tb4b4b4>MeshChatXTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72h1Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-lg text-gray-600 dark:text-zinc-400 max-w-md mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.welcome_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3migrationOffer Tff7b72&& Te6edf3migrationOfferTb4b4b4.Te6edf3show_choiceTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-full max-w-xl mx-auto p-4 rounded-2xl border border-amber-200 dark:border-amber-900/50 bg-amber-50/90 dark:bg-amber-950/40 text-left space-y-3"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold text-amber-950 dark:text-amber-100"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-sm text-amber-950/90 dark:text-amber-100/90"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col sm:flex-row gap-2 justify-stretch sm:justify-end"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-primary"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3migrationBusyTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3migrationMigrateTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_migrate"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-secondary"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3migrationBusyTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3migrationFreshTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_fresh"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3migrationBusyTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"text-xs text-center text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_working"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3androidStorageSetup Tff7b72&& Te6edf3androidStorageSetupTb4b4b4.Te6edf3needs_setup_choiceTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-full max-w-xl mx-auto p-4 rounded-2xl border border-blue-200 dark:border-blue-900/50 bg-blue-50/90 dark:bg-blue-950/40 text-left space-y-3"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold text-blue-950 dark:text-blue-100"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-sm text-blue-950/90 dark:text-blue-100/90"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72label
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-3 p-3 rounded-xl border cursor-pointer"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3androidStorageSetupChoice Tff7b72=== Ta5d6ff'external'
Tff7b72? Ta5d6ff'border-blue-500 bg-white/60 dark:bg-zinc-900/60'
Tff7b72: Ta5d6ff'border-blue-200/60 dark:border-blue-900/40'
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3androidStorageSetupChoiceTa5d6ff" Te6edf3typeTff7b72=Ta5d6ff"radio" Te6edf3classTff7b72=Ta5d6ff"mt-1" Te6edf3valueTff7b72=Ta5d6ff"external" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-medium text-gray-900 dark:text-zinc-100 block"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_external_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_external_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72label
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-3 p-3 rounded-xl border cursor-pointer"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3androidStorageSetupChoice Tff7b72=== Ta5d6ff'internal'
Tff7b72? Ta5d6ff'border-blue-500 bg-white/60 dark:bg-zinc-900/60'
Tff7b72: Ta5d6ff'border-blue-200/60 dark:border-blue-900/40'
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3androidStorageSetupChoiceTa5d6ff" Te6edf3typeTff7b72=Ta5d6ff"radio" Te6edf3classTff7b72=Ta5d6ff"mt-1" Te6edf3valueTff7b72=Ta5d6ff"internal" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-medium text-gray-900 dark:text-zinc-100 block"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_internal_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_internal_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex justify-stretch sm:justify-end"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-primary"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3androidStorageBusy Tff7b72|| Tff7b72!Te6edf3androidStorageSetupChoiceTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3applyAndroidStorageSetupTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_continue"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3androidStorageBusyTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"text-xs text-center text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.working"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 md:grid-cols-2 gap-4 w-full mt-8"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-shield-lock" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.security"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.security_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-map-marker-path" Te6edf3colorTff7b72=Ta5d6ff"purple" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.maps"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.maps_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-phone" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-tools" Te6edf3colorTff7b72=Ta5d6ff"orange" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.tools"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.tools_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-database-search" Te6edf3colorTff7b72=Ta5d6ff"teal" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-account-cancel" Te6edf3colorTff7b72=Ta5d6ff"amber" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.banishment"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.banishment_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-keyboard-outline" Te6edf3colorTff7b72=Ta5d6ff"red" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.palette"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.palette_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-translate" Te6edf3colorTff7b72=Ta5d6ff"cyan" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.i18n"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.i18n_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"w-full flex justify-end items-center gap-2 mt-4 px-4 text-gray-400 dark:text-zinc-500"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-plus" Te6edf3sizeTff7b72=Ta5d6ff"16"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-xs font-bold uppercase tracking-widest"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.more_features"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 2: Identity Setup -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff2Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step2-identity" Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-2xl font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-zinc-400 text-base"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3refTff7b72=Ta5d6ff"identityImportFileInput"
Te6edf3typeTff7b72=Ta5d6ff"file"
Te6edf3acceptTff7b72=Ta5d6ff".bin,.key,.identity,application/octet-stream,*/*"
Te6edf3classTff7b72=Ta5d6ff"hidden"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"Te6edf3onIdentityImportFileChangeTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-left flex items-start gap-4 p-5 rounded-2xl border-2 transition-all"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3identityMode Tff7b72=== Ta5d6ff'new'
Tff7b72? Ta5d6ff'border-blue-500 bg-blue-500/5'
Tff7b72: Ta5d6ff'border-gray-200 dark:border-zinc-700 hover:border-blue-400'
Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3setIdentityModeTb4b4b4(Ta5d6ff'new'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-account-plus-outline" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"34"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_new"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_new_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-left flex items-start gap-4 p-5 rounded-2xl border-2 transition-all"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3identityMode Tff7b72=== Ta5d6ff'import'
Tff7b72? Ta5d6ff'border-blue-500 bg-blue-500/5'
Tff7b72: Ta5d6ff'border-gray-200 dark:border-zinc-700 hover:border-blue-400'
Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3setIdentityModeTb4b4b4(Ta5d6ff'import'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-file-import-outline" Te6edf3colorTff7b72=Ta5d6ff"indigo" Te6edf3sizeTff7b72=Ta5d6ff"34"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"rounded-2xl border border-gray-200 dark:border-zinc-700 p-4 space-y-3"Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"block text-sm font-semibold text-gray-700 dark:text-zinc-200"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_set_name"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3identityNameTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"text"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Te6edf3defaultUsernameTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-full rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-900 px-3 py-2 text-sm text-gray-900 dark:text-zinc-100"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3identityMode Tff7b72=== Ta5d6ff'import'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"space-y-3 pt-2 border-t border-gray-200 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import_key_only_hint"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-secondary w-full justify-center"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3identityImportInProgressTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3$refsTb4b4b4.Te6edf3identityImportFileInputTff7b72?Tb4b4b4.Te6edf3clickTb4b4b4(Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{
Te6edf3identityImportFile
Tff7b72? Te6edf3identityImportFileTb4b4b4.Te6edf3name
Tff7b72: Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_upload_file"Tb4b4b4)
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72textarea
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3identityImportBase32Ta5d6ff"
Te6edf3rowsTff7b72=Ta5d6ff"3"
Te6edf3classTff7b72=Ta5d6ff"w-full rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-900 px-3 py-2 text-xs font-mono text-gray-900 dark:text-zinc-100"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'tutorial.identity_base32_placeholder'Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Tffa657BooleanTb4b4b4(Te6edf3identityImportFileTb4b4b4) Tff7b72|| Te6edf3identityImportInProgressTa5d6ff"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Te6edf3onIdentityImportBase32InputTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72p
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3identityImportFile Tff7b72&& Te6edf3identityImportBase32Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-xs text-amber-600 dark:text-amber-400"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_file_overrides_base32"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3identityImportErrorTa5d6ff" Te6edf3roleTff7b72=Ta5d6ff"alert" Te6edf3classTff7b72=Ta5d6ff"text-sm text-red-600 dark:text-red-400"Tb4b4b4>
Tff7b72{{ Te6edf3identityImportError Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 3: Choose Connection Mode -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff3Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step3-mode" Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-2xl font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.connect"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-zinc-400 text-base"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.connect_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 gap-4"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-left flex items-start gap-4 p-5 rounded-2xl bg-indigo-500/5 dark:bg-indigo-500/10 border-2 transition-all"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3connectionMode Tff7b72=== Ta5d6ff'recommended'
Tff7b72? Ta5d6ff'border-indigo-500 ring-2 ring-indigo-500/30'
Tff7b72: Ta5d6ff'border-indigo-500/20 hover:border-indigo-500'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3addingRecommended Tff7b72|| Te6edf3savingDiscovery Tff7b72|| Te6edf3addingLocal Tff7b72|| Te6edf3reloadingReticulumTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3useRecommendedModeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-access-point-network" Te6edf3colorTff7b72=Ta5d6ff"indigo" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-lg text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_recommended_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400 mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_recommended_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3addingRecommendedTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"20"
Te6edf3widthTff7b72=Ta5d6ff"2"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-left flex items-start gap-4 p-5 rounded-2xl bg-blue-500/5 dark:bg-blue-500/10 border-2 transition-all"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3connectionMode Tff7b72=== Ta5d6ff'discovery'
Tff7b72? Ta5d6ff'border-blue-500 ring-2 ring-blue-500/30'
Tff7b72: Ta5d6ff'border-blue-500/20 hover:border-blue-500'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3savingDiscovery Tff7b72|| Te6edf3addingRecommendedTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3useDiscoveryModeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-radar" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-lg text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_discovery_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400 mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_discovery_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3savingDiscoveryTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"20"
Te6edf3widthTff7b72=Ta5d6ff"2"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-left flex items-start gap-4 p-5 rounded-2xl bg-emerald-500/5 dark:bg-emerald-500/10 border-2 transition-all"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3connectionMode Tff7b72=== Ta5d6ff'local'
Tff7b72? Ta5d6ff'border-emerald-500 ring-2 ring-emerald-500/30'
Tff7b72: Ta5d6ff'border-emerald-500/20 hover:border-emerald-500'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3addingLocal Tff7b72|| Te6edf3addingRecommended Tff7b72|| Te6edf3reloadingReticulumTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3useLocalModeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-lan" Te6edf3colorTff7b72=Ta5d6ff"emerald" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-lg text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_local_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400 mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_local_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3addingLocal Tff7b72|| Te6edf3reloadingReticulumTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"20"
Te6edf3widthTff7b72=Ta5d6ff"2"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-left flex items-start gap-4 p-5 rounded-2xl bg-gray-100/50 dark:bg-zinc-800/40 border-2 transition-all"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3connectionMode Tff7b72=== Ta5d6ff'manual'
Tff7b72? Ta5d6ff'border-gray-500 ring-2 ring-gray-500/30'
Tff7b72: Ta5d6ff'border-gray-300 dark:border-zinc-700 hover:border-gray-500'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3useManualModeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-cog-outline" Te6edf3colorTff7b72=Ta5d6ff"gray" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-lg text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_manual_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400 mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_manual_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xs text-center text-gray-400 dark:text-zinc-500"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_change_later"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 4: Bootstrap Selection -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff4Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step4-bootstrap" Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-2xl font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-zinc-400 text-sm"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-2 pt-1"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-2 rounded-xl border border-blue-500/30 bg-blue-500/10 px-4 py-2 text-xs font-semibold text-blue-700 transition-colors hover:bg-blue-500/15 dark:text-blue-300 dark:hover:bg-blue-500/20 disabled:opacity-60"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3loadingInterfaces Tff7b72|| Te6edf3loadingDiscovered Tff7b72|| Te6edf3pickingRandomBootstrapsTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3pickRandomTcpBootstrapsTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3pickingRandomBootstrapsTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"16"
Te6edf3widthTff7b72=Ta5d6ff"2"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3v-else Te6edf3iconTff7b72=Ta5d6ff"mdi-shuffle-variant" Te6edf3sizeTff7b72=Ta5d6ff"18" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_pick_random_tcp"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3bootstrapSelectedLabelsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-full max-w-md rounded-xl border border-gray-200/90 bg-gray-50/80 px-3 py-2 text-left dark:border-zinc-700 dark:bg-zinc-900/50"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[10px] font-bold uppercase tracking-wide text-gray-500 dark:text-zinc-400"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_selected_nodes_heading"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"mt-1 space-y-0.5 text-xs text-gray-800 dark:text-zinc-200"Tb4b4b4>
Tb4b4b4<Tff7b72li
Te6edf3v-forTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3labelTb4b4b4, Te6edf3idxTb4b4b4) Tff7b72in Te6edf3bootstrapSelectedLabelsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3selectedBootstrapKeysTb4b4b4[Te6edf3idxTb4b4b4]Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3label Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-3 sm:gap-4 rounded-2xl border border-gray-200 dark:border-zinc-700 bg-white/80 dark:bg-zinc-900/60 p-3.5 sm:p-4"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"shrink-0 pr-0.5 pt-0.5 sm:pt-1 sm:pr-1 flex items-start"Tb4b4b4>
Tb4b4b4<Tff7b72Toggle
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3defaultBootstrapOnlyTa5d6ff"
Tb4b4b4@Te6edf3updateTb4b4b4:Te6edf3model-valueTff7b72=Ta5d6ff"Te6edf3persistDefaultBootstrapOnlyTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1 pl-0.5 sm:pl-0 sm:pt-0.5"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm font-semibold text-gray-900 dark:text-white leading-snug"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_only_label"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-400 mt-1.5 leading-relaxed"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_only_hint"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3hasAnyBootstrapsToShowTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-full max-w-6xl mx-auto flex items-center gap-2 border-0 border-b border-gray-200/90 dark:border-zinc-600/90 py-1.5"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-magnify" Te6edf3sizeTff7b72=Ta5d6ff"20" Te6edf3classTff7b72=Ta5d6ff"shrink-0 text-gray-400" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3bootstrapListSearchTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"search"
Te6edf3autocompleteTff7b72=Ta5d6ff"off"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'tutorial.bootstrap_search_placeholder'Tb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1 border-0 bg-transparent p-0 text-sm text-gray-900 shadow-none ring-0 outline-hidden focus:ring-0 dark:text-zinc-100 placeholder:text-gray-400 dark:placeholder:text-zinc-500"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3bootstrapListSearchTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"shrink-0 rounded p-1 text-gray-400 transition-colors hover:text-gray-700 dark:hover:text-zinc-200"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'tutorial.bootstrap_search_clear'Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3aria-labelTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'tutorial.bootstrap_search_clear'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3bootstrapListSearch Tff7b72= Ta5d6ff''Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-close" Te6edf3sizeTff7b72=Ta5d6ff"18" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3sortedDiscoveredInterfacesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"h-fit min-w-0 bg-emerald-500/5 dark:bg-emerald-500/10 rounded-3xl border border-emerald-500/20"
Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"flex w-full items-center justify-between gap-2 p-4 text-left sm:px-4"
Tb4b4b4:Te6edf3aria-expandedTff7b72=Ta5d6ff"Te6edf3bootstrapDiscoveredSectionOpenTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3bootstrapDiscoveredSectionOpen Tff7b72= Tff7b72!Te6edf3bootstrapDiscoveredSectionOpenTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex min-w-0 items-center gap-2 text-sm"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3bootstrapDiscoveredSectionOpen Tff7b72? Ta5d6ff'chevron-up' Tff7b72: Ta5d6ff'chevron-down'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"size-4 shrink-0 text-gray-500"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-radar" Te6edf3colorTff7b72=Ta5d6ff"emerald"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_discovered"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-showTff7b72=Ta5d6ff"Te6edf3bootstrapDiscoveredSectionOpenTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"px-4 pb-4"Tb4b4b4>
Tb4b4b4<Tff7b72p
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3bootstrapListSearch Tff7b72&&
Te6edf3sortedDiscoveredInterfacesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0 Tff7b72&&
Te6edf3filteredDiscoveredForBootstrapTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0
Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-400"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_search_no_match"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-else
Te6edf3classTff7b72=Ta5d6ff"space-y-2 max-h-[260px] overflow-y-auto pr-2 pt-1 custom-scrollbar"
Tb4b4b4>
Tb4b4b4<Tff7b72label
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3iface Tff7b72in Te6edf3filteredDiscoveredForBootstrapTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3ifaceTb4b4b4.Te6edf3nameTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex cursor-pointer items-center gap-3 rounded-xl border bg-white p-3 transition-all dark:bg-zinc-800"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3isBootstrapSelectedTb4b4b4(Ta5d6ff`Ta5d6ffdisc:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)
Tff7b72? Ta5d6ff'border-emerald-500 bg-emerald-50 dark:bg-emerald-900/20'
Tff7b72: Ta5d6ff'border-gray-100 dark:border-zinc-700 hover:border-emerald-400'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3typeTff7b72=Ta5d6ff"checkbox"
Te6edf3classTff7b72=Ta5d6ff"h-4 w-4 accent-emerald-500"
Tb4b4b4:Te6edf3checkedTff7b72=Ta5d6ff"
Te6edf3isBootstrapSelectedTb4b4b4(Ta5d6ff`Ta5d6ffdisc:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)
Ta5d6ff"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"Te6edf3toggleBootstrapTb4b4b4(Ta5d6ff`Ta5d6ffdisc:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3getDiscoveryIconTb4b4b4(Te6edf3ifaceTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"h-5 w-5 shrink-0 text-emerald-500"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"truncate text-sm font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3name Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"truncate font-mono text-[10px] text-gray-500 dark:text-zinc-400"
Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3reachable_onTa5d6ff"
Tb4b4b4>Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3reachable_on
Tff7b72}}Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3portTa5d6ff"Tb4b4b4>:Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3port Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-elseTb4b4b4>Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3type Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"ml-2 capitalize"Tb4b4b4>Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3status Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"h-fit min-w-0 rounded-3xl border border-gray-100 bg-gray-50 p-0 dark:border-zinc-800 dark:bg-zinc-900"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between gap-2 p-4 pr-2 sm:px-4"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"flex min-w-0 flex-1 items-center gap-2 text-left text-sm"
Tb4b4b4:Te6edf3aria-expandedTff7b72=Ta5d6ff"Te6edf3bootstrapCommunitySectionOpenTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3bootstrapCommunitySectionOpen Tff7b72= Tff7b72!Te6edf3bootstrapCommunitySectionOpenTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3bootstrapCommunitySectionOpen Tff7b72? Ta5d6ff'chevron-up' Tff7b72: Ta5d6ff'chevron-down'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"size-4 shrink-0 text-gray-500"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-web" Te6edf3colorTff7b72=Ta5d6ff"blue"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_community"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"shrink-0 rounded-lg p-1.5 text-gray-500 transition-colors hover:bg-gray-100 hover:text-blue-600 disabled:opacity-50 dark:hover:bg-zinc-800 dark:hover:text-blue-400"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3refreshingCommunityPresetsTa5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'interfaces.community_presets_refresh'Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3aria-labelTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'interfaces.community_presets_refresh'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3refreshCommunityPresetsTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-refresh"
Te6edf3sizeTff7b72=Ta5d6ff"20"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4{ Ta5d6ff'animate-spin'Tff7b72: Te6edf3refreshingCommunityPresets Tb4b4b4}Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-showTff7b72=Ta5d6ff"Te6edf3bootstrapCommunitySectionOpenTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"px-4 pb-4"Tb4b4b4>
Tb4b4b4<Tff7b72p
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3bootstrapListSearch Tff7b72&&
Te6edf3communityInterfacesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0 Tff7b72&&
Te6edf3filteredCommunityForBootstrapTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0
Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-400"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_search_no_match"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-else
Te6edf3classTff7b72=Ta5d6ff"space-y-2 max-h-[260px] overflow-y-auto pr-2 pt-1 custom-scrollbar"
Tb4b4b4>
Tb4b4b4<Tff7b72label
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3iface Tff7b72in Te6edf3filteredCommunityForBootstrapTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3nameTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex cursor-pointer items-center gap-3 rounded-xl border border-gray-100 bg-white p-3 transition-all dark:border-zinc-700 dark:bg-zinc-800"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3isBootstrapSelectedTb4b4b4(Ta5d6ff`Ta5d6ffcomm:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)
Tff7b72? Ta5d6ff'border-blue-500 bg-blue-50 dark:bg-blue-900/20'
Tff7b72: Ta5d6ff'hover:border-blue-400'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3typeTff7b72=Ta5d6ff"checkbox"
Te6edf3classTff7b72=Ta5d6ff"h-4 w-4 accent-blue-500"
Tb4b4b4:Te6edf3checkedTff7b72=Ta5d6ff"Te6edf3isBootstrapSelectedTb4b4b4(Ta5d6ff`Ta5d6ffcomm:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"Te6edf3toggleBootstrapTb4b4b4(Ta5d6ff`Ta5d6ffcomm:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-server-network" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"20"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"truncate text-sm font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3name Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"truncate font-mono text-[10px] text-gray-500 dark:text-zinc-400"
Tb4b4b4>
Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3target_host
Tff7b72}}Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3target_portTa5d6ff"Tb4b4b4>:Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3target_port Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3onlineTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"shrink-0 text-[9px] font-bold uppercase tracking-widest text-green-500"
Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.online"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3loadingInterfacesTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex justify-center py-3"Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3indeterminate
Te6edf3colorTff7b72=Ta5d6ff"blue"
Te6edf3sizeTff7b72=Ta5d6ff"24"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col sm:flex-row items-center justify-between gap-3 pt-2"Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-500"Tb4b4b4>
Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_selected"Tb4b4b4, Tb4b4b4{
Te6edf3countTff7b72: Te6edf3selectedBootstrapCountTb4b4b4,
Tb4b4b4}Tb4b4b4)
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-secondary"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3skipBootstrapsTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_skip"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-success"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"
Te6edf3addingBootstraps Tff7b72|| Te6edf3reloadingReticulum Tff7b72|| Te6edf3selectedBootstrapCount Tff7b72=== T79c0ff0
Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3confirmBootstrapsTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3addingBootstraps Tff7b72|| Te6edf3reloadingReticulumTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"14"
Te6edf3widthTff7b72=Ta5d6ff"2"
Te6edf3classTff7b72=Ta5d6ff"mr-1"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_confirm"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 5: Propagation Mode -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff5Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step5-prop" Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-2xl font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-zinc-400 text-base"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-6 py-4"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"bg-blue-500/10 dark:bg-blue-500/20 p-6 rounded-4xl text-center space-y-4 border border-blue-500/20 max-w-md"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-server-network" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"48"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-lg font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_question"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_auto"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-3 pt-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-primary w-full"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3savingPropagationTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3enableAutoPropagationTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3savingPropagationTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"20"
Te6edf3widthTff7b72=Ta5d6ff"2"
Te6edf3classTff7b72=Ta5d6ff"mr-2"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_enable_auto"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-secondary w-full"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3nextStepTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_skip_auto"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mt-6 pt-6 border-t border-gray-200 dark:border-zinc-800"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm font-bold text-gray-900 dark:text-white mb-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_manual"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-500 dark:text-zinc-500"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_manual_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 6: Learn & Create -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff6Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step6-tools" Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-2xl font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-6"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex w-full flex-col gap-4 max-w-xl mx-auto"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex w-full items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 touch-manipulation"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-book-open-variant" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.documentation"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mb-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.documentation_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72a
Te6edf3hrefTff7b72=Ta5d6ff"/meshchatx-docs/index.html"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3classTff7b72=Ta5d6ff"px-3 py-1 text-[10px] rounded-xl bg-blue-600 hover:bg-blue-500 text-white font-semibold shadow-xs transition-all inline-block"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.meshchatx_docs"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72a
Tb4b4b4:Te6edf3hrefTff7b72=Ta5d6ff"Te6edf3reticulumBundledDocsUrlTa5d6ff"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3classTff7b72=Ta5d6ff"px-3 py-1 text-[10px] rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold shadow-xs transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500 inline-block"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.reticulum_docs"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex w-full items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 touch-manipulation"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-file-document-edit-outline" Te6edf3colorTff7b72=Ta5d6ff"orange" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.micron_editor"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white mb-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.micron_editor_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-wrap gap-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-3 py-1 text-[10px] rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold shadow-xs transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'micron-editor'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.open_micron_editor"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"px-3 py-1 text-[10px] rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-800 text-gray-700 dark:text-zinc-300 font-semibold shadow-xs transition-all hover:bg-gray-50 dark:hover:bg-zinc-700 hover:border-blue-400 dark:hover:border-blue-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'mesh-server'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.open_mesh_server"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex w-full cursor-pointer items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-colors hover:border-indigo-500 touch-manipulation min-h-[4.5rem]"
Te6edf3roleTff7b72=Ta5d6ff"button"
Te6edf3tabindexTff7b72=Ta5d6ff"0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'identities'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'identities'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-account-multiple-outline" Te6edf3colorTff7b72=Ta5d6ff"indigo" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identities_card_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identities_card_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex w-full cursor-pointer items-start gap-4 p-4 rounded-2xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-colors hover:border-teal-500 touch-manipulation min-h-[4.5rem]"
Te6edf3roleTff7b72=Ta5d6ff"button"
Te6edf3tabindexTff7b72=Ta5d6ff"0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'archives'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'archives'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-archive-outline" Te6edf3colorTff7b72=Ta5d6ff"teal" Te6edf3sizeTff7b72=Ta5d6ff"32"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72p
Te6edf3classTff7b72=Ta5d6ff"text-center text-[11px] font-semibold tracking-wide text-gray-600 dark:text-zinc-400 px-2"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create_more"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-2 gap-2 max-w-xl mx-auto"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-1.5 rounded-xl border border-gray-100 bg-gray-50 p-2.5 dark:border-zinc-800 dark:bg-zinc-900 cursor-pointer hover:border-blue-500 transition-colors touch-manipulation min-h-[5.5rem]"
Te6edf3roleTff7b72=Ta5d6ff"button"
Te6edf3tabindexTff7b72=Ta5d6ff"0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'nomadnetwork'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'nomadnetwork'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-earth" Te6edf3colorTff7b72=Ta5d6ff"purple" Te6edf3sizeTff7b72=Ta5d6ff"22" Te6edf3classTff7b72=Ta5d6ff"shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-[11px] leading-tight"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.paper_messages"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[9px] text-gray-600 dark:text-zinc-400 leading-snug line-clamp-3"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.paper_messages_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-1.5 rounded-xl border border-gray-100 bg-gray-50 p-2.5 dark:border-zinc-800 dark:bg-zinc-900 cursor-pointer hover:border-blue-500 transition-colors touch-manipulation min-h-[5.5rem]"
Te6edf3roleTff7b72=Ta5d6ff"button"
Te6edf3tabindexTff7b72=Ta5d6ff"0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'messages'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'messages'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-message-text-outline"
Te6edf3colorTff7b72=Ta5d6ff"green"
Te6edf3sizeTff7b72=Ta5d6ff"22"
Te6edf3classTff7b72=Ta5d6ff"shrink-0"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-[11px] leading-tight"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.send_messages"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[9px] text-gray-600 dark:text-zinc-400 leading-snug line-clamp-3"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.send_messages_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-1.5 rounded-xl border border-gray-100 bg-gray-50 p-2.5 dark:border-zinc-800 dark:bg-zinc-900 cursor-pointer hover:border-blue-500 transition-colors touch-manipulation min-h-[5.5rem]"
Te6edf3roleTff7b72=Ta5d6ff"button"
Te6edf3tabindexTff7b72=Ta5d6ff"0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'network-visualiser'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'network-visualiser'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-hub" Te6edf3colorTff7b72=Ta5d6ff"teal" Te6edf3sizeTff7b72=Ta5d6ff"22" Te6edf3classTff7b72=Ta5d6ff"shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-[11px] leading-tight"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.explore_nodes"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[9px] text-gray-600 dark:text-zinc-400 leading-snug line-clamp-3"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.explore_nodes_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-1.5 rounded-xl border border-gray-100 bg-gray-50 p-2.5 dark:border-zinc-800 dark:bg-zinc-900 cursor-pointer hover:border-blue-500 transition-colors touch-manipulation min-h-[5.5rem]"
Te6edf3roleTff7b72=Ta5d6ff"button"
Te6edf3tabindexTff7b72=Ta5d6ff"0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'call'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'call'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-phone-in-talk-outline"
Te6edf3colorTff7b72=Ta5d6ff"red"
Te6edf3sizeTff7b72=Ta5d6ff"22"
Te6edf3classTff7b72=Ta5d6ff"shrink-0"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-[11px] leading-tight"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_calls"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[9px] text-gray-600 dark:text-zinc-400 leading-snug line-clamp-3"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_calls_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 7: Privacy -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff7Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"step7-privacy" Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72TutorialPrivacyStep Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 8: Finish -->
Tb4b4b4<Tff7b72div
Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff8Ta5d6ff"
Te6edf3keyTff7b72=Ta5d6ff"step8-finish"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center text-center space-y-8 py-10"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-32 h-32 bg-green-500/10 rounded-full flex items-center justify-center relative"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-check-decagram" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"80"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"absolute inset-0 bg-green-500/20 rounded-full animate-ping opacity-20"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-3"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-3xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-lg text-gray-600 dark:text-zinc-400 max-w-md mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3interfaceAddedViaTutorialTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"p-4 bg-amber-50 dark:bg-amber-900/20 rounded-2xl border border-amber-100 dark:border-amber-900/30 text-amber-700 dark:text-amber-400 text-sm flex gap-3 max-w-md text-left"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-information-outline" Te6edf3classTff7b72=Ta5d6ff"shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.docker_note"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72transitionTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-card-textTb4b4b4>

T8b949e<!-- Footer -->
Tb4b4b4<Tff7b72v-divider Te6edf3classTff7b72=Ta5d6ff"dark:border-zinc-900"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-dividerTb4b4b4>
Tb4b4b4<Tff7b72v-card-actions
Te6edf3classTff7b72=Ta5d6ff"shrink-0 flex justify-between bg-gray-50 px-4 py-4 pb-[max(1rem,env(safe-area-inset-bottom))] dark:bg-zinc-950/50 sm:px-6 sm:py-6"
Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72> T79c0ff1 Tff7b72&& Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-secondary"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3previousStepTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.back"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-elseTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-secondary"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3skipTutorialTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.skip"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3showFooterContinueTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-primary"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"
Tb4b4b4(Te6edf3currentStep Tff7b72=== T79c0ff2 Tff7b72&& Te6edf3identityImportInProgressTb4b4b4) Tff7b72||
Tb4b4b4(Te6edf3currentStep Tff7b72=== T79c0ff2 Tff7b72&& Te6edf3identityMode Tff7b72=== Ta5d6ff'import' Tff7b72&& Tff7b72!Te6edf3hasIdentityImportInputTb4b4b4)
Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3handlePrimaryActionTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.next"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3v-else
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-success"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3finishingTutorialTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3finishTutorialTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.finish_setup"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-card-actionsTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-cardTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72v-dialogTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3v-else Te6edf3classTff7b72=Ta5d6ff"flex flex-col h-full bg-white dark:bg-zinc-950 overflow-hidden relative"Tb4b4b4>
T8b949e<!-- Settings Controls -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"absolute top-4 left-4 z-50 flex items-center gap-1"Tb4b4b4>
Tb4b4b4<Tff7b72LanguageSelector Tb4b4b4@Te6edf3language-changeTff7b72=Ta5d6ff"Te6edf3onLanguageChangeTa5d6ff" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"rounded-full p-1.5 sm:p-2 text-gray-600 dark:text-gray-300 hover:bg-gray-100 dark:hover:bg-zinc-800 transition-colors"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3configTff7b72?Tb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff'dark' Tff7b72? Ta5d6ff'Switch to light mode' Tff7b72: Ta5d6ff'Switch to dark mode'Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3toggleThemeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3configTff7b72?Tb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff'dark' Tff7b72? Ta5d6ff'brightness-6' Tff7b72: Ta5d6ff'brightness-4'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-5 h-5 sm:w-6 sm:h-6"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Progress Bar -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-full h-1.5 bg-gray-100 dark:bg-zinc-900 overflow-hidden flex"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3step Tff7b72in Te6edf3totalStepsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3stepTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"h-full transition-all duration-500 ease-out"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3currentStep Tff7b72>= Te6edf3step Tff7b72? Ta5d6ff'bg-blue-500' Tff7b72: Ta5d6ff'bg-transparent'Tb4b4b4,
Te6edf3currentStep Tff7b72=== Te6edf3step Tff7b72? Ta5d6ff'flex-2' Tff7b72: Ta5d6ff'flex-1'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3styleTff7b72=Ta5d6ff"Tb4b4b4{ Te6edf3borderRightTff7b72: Te6edf3step Tff7b72< Te6edf3totalSteps Tff7b72? Ta5d6ff'1px solid rgba(0,0,0,0.05)' Tff7b72: Ta5d6ff'none' Tb4b4b4}Ta5d6ff"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex-1 overflow-y-auto px-6 md:px-12 py-10"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-full h-full flex flex-col justify-between"Tb4b4b4>
Tb4b4b4<Tff7b72transition Te6edf3nameTff7b72=Ta5d6ff"fade-slide" Te6edf3modeTff7b72=Ta5d6ff"out-in"Tb4b4b4>
T8b949e<!-- Step 1: Welcome -->
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff1Ta5d6ff"
Te6edf3keyTff7b72=Ta5d6ff"page-step1"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center text-center space-y-8 py-10"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"relative"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-32 h-32 bg-blue-500/10 rounded-3xl rotate-12 absolute -inset-2"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72img Tb4b4b4:Te6edf3srcTff7b72=Ta5d6ff"Te6edf3logoUrlTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"w-32 h-32 relative z-10 p-2" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72h1 Te6edf3classTff7b72=Ta5d6ff"text-5xl font-black tracking-tight text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.welcome"Tb4b4b4) Tff7b72}} Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-blue-500"Tb4b4b4>MeshChatXTb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72h1Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.welcome_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3migrationOffer Tff7b72&& Te6edf3migrationOfferTb4b4b4.Te6edf3show_choiceTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-full max-w-2xl mx-auto p-5 rounded-2xl border border-amber-200 dark:border-amber-900/50 bg-amber-50/90 dark:bg-amber-950/40 text-left space-y-3"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold text-amber-950 dark:text-amber-100"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-sm text-amber-950/90 dark:text-amber-100/90"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col sm:flex-row gap-2 justify-stretch sm:justify-end"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-primary"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3migrationBusyTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3migrationMigrateTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_migrate"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-secondary"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3migrationBusyTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3migrationFreshTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_fresh"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3migrationBusyTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"text-xs text-center text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_working"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3androidStorageSetup Tff7b72&& Te6edf3androidStorageSetupTb4b4b4.Te6edf3needs_setup_choiceTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-full max-w-2xl mx-auto p-5 rounded-2xl border border-blue-200 dark:border-blue-900/50 bg-blue-50/90 dark:bg-blue-950/40 text-left space-y-3"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-semibold text-blue-950 dark:text-blue-100"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-sm text-blue-950/90 dark:text-blue-100/90"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72label
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-3 p-3 rounded-xl border cursor-pointer"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3androidStorageSetupChoice Tff7b72=== Ta5d6ff'external'
Tff7b72? Ta5d6ff'border-blue-500 bg-white/60 dark:bg-zinc-900/60'
Tff7b72: Ta5d6ff'border-blue-200/60 dark:border-blue-900/40'
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3androidStorageSetupChoiceTa5d6ff" Te6edf3typeTff7b72=Ta5d6ff"radio" Te6edf3classTff7b72=Ta5d6ff"mt-1" Te6edf3valueTff7b72=Ta5d6ff"external" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-medium text-gray-900 dark:text-zinc-100 block"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_external_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_external_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72label
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-3 p-3 rounded-xl border cursor-pointer"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3androidStorageSetupChoice Tff7b72=== Ta5d6ff'internal'
Tff7b72? Ta5d6ff'border-blue-500 bg-white/60 dark:bg-zinc-900/60'
Tff7b72: Ta5d6ff'border-blue-200/60 dark:border-blue-900/40'
Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72input Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3androidStorageSetupChoiceTa5d6ff" Te6edf3typeTff7b72=Ta5d6ff"radio" Te6edf3classTff7b72=Ta5d6ff"mt-1" Te6edf3valueTff7b72=Ta5d6ff"internal" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-medium text-gray-900 dark:text-zinc-100 block"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_internal_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-xs text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_internal_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex justify-stretch sm:justify-end"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-primary"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3androidStorageBusy Tff7b72|| Tff7b72!Te6edf3androidStorageSetupChoiceTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3applyAndroidStorageSetupTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.setup_continue"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3androidStorageBusyTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"text-xs text-center text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.working"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6 w-full mt-12"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-shield-lock" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.security"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.security_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-map-marker-path" Te6edf3colorTff7b72=Ta5d6ff"purple" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.maps"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.maps_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-phone" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-tools" Te6edf3colorTff7b72=Ta5d6ff"orange" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.tools"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.tools_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-database-search" Te6edf3colorTff7b72=Ta5d6ff"teal" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-account-cancel" Te6edf3colorTff7b72=Ta5d6ff"amber" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.banishment"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.banishment_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-keyboard-outline" Te6edf3colorTff7b72=Ta5d6ff"red" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.palette"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.palette_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-6 p-6 rounded-3xl bg-gray-50 dark:bg-zinc-900 text-left border border-gray-100 dark:border-zinc-800 transition-all hover:scale-[1.03] hover:shadow-2xl hover:z-10"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-translate" Te6edf3colorTff7b72=Ta5d6ff"cyan" Te6edf3sizeTff7b72=Ta5d6ff"40"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.i18n"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.i18n_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"w-full flex justify-end items-center gap-2 mt-8 px-6 text-gray-400 dark:text-zinc-500"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-plus" Te6edf3sizeTff7b72=Ta5d6ff"24"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"text-base font-bold uppercase tracking-widest"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.more_features"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 2: Identity Setup -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff2Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"page-step2-identity" Te6edf3classTff7b72=Ta5d6ff"space-y-8 py-8"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-3"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-3xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-lg text-gray-600 dark:text-zinc-400 max-w-3xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3refTff7b72=Ta5d6ff"identityImportFileInput"
Te6edf3typeTff7b72=Ta5d6ff"file"
Te6edf3acceptTff7b72=Ta5d6ff".bin,.key,.identity,application/octet-stream,*/*"
Te6edf3classTff7b72=Ta5d6ff"hidden"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"Te6edf3onIdentityImportFileChangeTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 md:grid-cols-2 gap-6 max-w-5xl mx-auto"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-left flex items-start gap-5 p-7 rounded-3xl border-2 transition-all"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3identityMode Tff7b72=== Ta5d6ff'new'
Tff7b72? Ta5d6ff'border-blue-500 bg-blue-500/5'
Tff7b72: Ta5d6ff'border-gray-200 dark:border-zinc-700 hover:border-blue-400'
Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3setIdentityModeTb4b4b4(Ta5d6ff'new'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-account-plus-outline" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"52"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xl font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_new"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400 mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_new_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-left flex items-start gap-5 p-7 rounded-3xl border-2 transition-all"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"
Te6edf3identityMode Tff7b72=== Ta5d6ff'import'
Tff7b72? Ta5d6ff'border-blue-500 bg-blue-500/5'
Tff7b72: Ta5d6ff'border-gray-200 dark:border-zinc-700 hover:border-blue-400'
Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3setIdentityModeTb4b4b4(Ta5d6ff'import'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-file-import-outline" Te6edf3colorTff7b72=Ta5d6ff"indigo" Te6edf3sizeTff7b72=Ta5d6ff"52"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xl font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400 mt-1"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"max-w-4xl mx-auto rounded-3xl border border-gray-200 dark:border-zinc-700 p-6 space-y-4"
Tb4b4b4>
Tb4b4b4<Tff7b72label Te6edf3classTff7b72=Ta5d6ff"block text-base font-semibold text-gray-800 dark:text-zinc-100"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_set_name"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3identityNameTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"text"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Te6edf3defaultUsernameTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-full rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-900 px-4 py-3 text-base text-gray-900 dark:text-zinc-100"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3identityMode Tff7b72=== Ta5d6ff'import'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"space-y-4 pt-3 border-t border-gray-200 dark:border-zinc-800"
Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-500 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import_key_only_hint"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-secondary w-full justify-center"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3identityImportInProgressTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3$refsTb4b4b4.Te6edf3identityImportFileInputTff7b72?Tb4b4b4.Te6edf3clickTb4b4b4(Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{
Te6edf3identityImportFile
Tff7b72? Te6edf3identityImportFileTb4b4b4.Te6edf3name
Tff7b72: Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_upload_file"Tb4b4b4)
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72textarea
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3identityImportBase32Ta5d6ff"
Te6edf3rowsTff7b72=Ta5d6ff"4"
Te6edf3classTff7b72=Ta5d6ff"w-full rounded-xl border border-gray-300 dark:border-zinc-700 bg-white dark:bg-zinc-900 px-4 py-3 text-sm font-mono text-gray-900 dark:text-zinc-100"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'tutorial.identity_base32_placeholder'Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Tffa657BooleanTb4b4b4(Te6edf3identityImportFileTb4b4b4) Tff7b72|| Te6edf3identityImportInProgressTa5d6ff"
Tb4b4b4@Te6edf3inputTff7b72=Ta5d6ff"Te6edf3onIdentityImportBase32InputTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72p
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3identityImportFile Tff7b72&& Te6edf3identityImportBase32Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-sm text-amber-600 dark:text-amber-400"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_file_overrides_base32"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3identityImportErrorTa5d6ff" Te6edf3roleTff7b72=Ta5d6ff"alert" Te6edf3classTff7b72=Ta5d6ff"text-sm text-red-600 dark:text-red-400"Tb4b4b4>
Tff7b72{{ Te6edf3identityImportError Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 3: Choose Connection Mode -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff3Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"page-step3-mode" Te6edf3classTff7b72=Ta5d6ff"space-y-8 py-8"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-3xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.connect"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-lg text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.connect_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-1 md:grid-cols-2 gap-6 max-w-6xl mx-auto"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-left flex flex-col gap-4 p-8 rounded-3xl bg-indigo-500/5 dark:bg-indigo-500/10 border-2 transition-all hover:scale-[1.02]"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3connectionMode Tff7b72=== Ta5d6ff'recommended'
Tff7b72? Ta5d6ff'border-indigo-500 ring-2 ring-indigo-500/30'
Tff7b72: Ta5d6ff'border-indigo-500/20 hover:border-indigo-500'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3addingRecommended Tff7b72|| Te6edf3savingDiscovery Tff7b72|| Te6edf3addingLocal Tff7b72|| Te6edf3reloadingReticulumTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3useRecommendedModeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-access-point-network" Te6edf3colorTff7b72=Ta5d6ff"indigo" Te6edf3sizeTff7b72=Ta5d6ff"56"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_recommended_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_recommended_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3addingRecommendedTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"20"
Te6edf3widthTff7b72=Ta5d6ff"2"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-left flex flex-col gap-4 p-8 rounded-3xl bg-blue-500/5 dark:bg-blue-500/10 border-2 transition-all hover:scale-[1.02]"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3connectionMode Tff7b72=== Ta5d6ff'discovery'
Tff7b72? Ta5d6ff'border-blue-500 ring-2 ring-blue-500/30'
Tff7b72: Ta5d6ff'border-blue-500/20 hover:border-blue-500'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3savingDiscovery Tff7b72|| Te6edf3addingRecommendedTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3useDiscoveryModeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-radar" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"56"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_discovery_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_discovery_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3savingDiscoveryTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"20"
Te6edf3widthTff7b72=Ta5d6ff"2"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-left flex flex-col gap-4 p-8 rounded-3xl bg-emerald-500/5 dark:bg-emerald-500/10 border-2 transition-all hover:scale-[1.02]"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3connectionMode Tff7b72=== Ta5d6ff'local'
Tff7b72? Ta5d6ff'border-emerald-500 ring-2 ring-emerald-500/30'
Tff7b72: Ta5d6ff'border-emerald-500/20 hover:border-emerald-500'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3addingLocal Tff7b72|| Te6edf3addingRecommended Tff7b72|| Te6edf3reloadingReticulumTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3useLocalModeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-lan" Te6edf3colorTff7b72=Ta5d6ff"emerald" Te6edf3sizeTff7b72=Ta5d6ff"56"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_local_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_local_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3addingLocal Tff7b72|| Te6edf3reloadingReticulumTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"20"
Te6edf3widthTff7b72=Ta5d6ff"2"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"text-left flex flex-col gap-4 p-8 rounded-3xl bg-gray-100/50 dark:bg-zinc-800/40 border-2 transition-all hover:scale-[1.02]"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3connectionMode Tff7b72=== Ta5d6ff'manual'
Tff7b72? Ta5d6ff'border-gray-500 ring-2 ring-gray-500/30'
Tff7b72: Ta5d6ff'border-gray-300 dark:border-zinc-700 hover:border-gray-500'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3useManualModeTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-cog-outline" Te6edf3colorTff7b72=Ta5d6ff"gray" Te6edf3sizeTff7b72=Ta5d6ff"56"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-xl text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_manual_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_manual_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xs text-center text-gray-400 dark:text-zinc-500"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_change_later"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 4: Bootstrap Selection -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff4Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"page-step4-bootstrap" Te6edf3classTff7b72=Ta5d6ff"space-y-6 py-8"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-2"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-3xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-lg text-gray-600 dark:text-zinc-400 max-w-3xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-3 pt-2"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"inline-flex items-center gap-2 rounded-xl border-2 border-blue-500/30 bg-blue-500/10 px-5 py-2.5 text-sm font-semibold text-blue-700 transition-colors hover:bg-blue-500/15 dark:text-blue-300 dark:hover:bg-blue-500/20 disabled:opacity-60"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3loadingInterfaces Tff7b72|| Te6edf3loadingDiscovered Tff7b72|| Te6edf3pickingRandomBootstrapsTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3pickRandomTcpBootstrapsTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3pickingRandomBootstrapsTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"18"
Te6edf3widthTff7b72=Ta5d6ff"2"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3v-else Te6edf3iconTff7b72=Ta5d6ff"mdi-shuffle-variant" Te6edf3sizeTff7b72=Ta5d6ff"20" Tb4b4b4/Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_pick_random_tcp"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3bootstrapSelectedLabelsTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"w-full max-w-xl rounded-xl border border-gray-200/90 bg-gray-50/80 px-4 py-3 text-left dark:border-zinc-700 dark:bg-zinc-900/50"
Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xs font-bold uppercase tracking-wide text-gray-500 dark:text-zinc-400"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_selected_nodes_heading"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72ul Te6edf3classTff7b72=Ta5d6ff"mt-1.5 space-y-1 text-sm text-gray-800 dark:text-zinc-200"Tb4b4b4>
Tb4b4b4<Tff7b72li
Te6edf3v-forTff7b72=Ta5d6ff"Tb4b4b4(Te6edf3labelTb4b4b4, Te6edf3idxTb4b4b4) Tff7b72in Te6edf3bootstrapSelectedLabelsTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3selectedBootstrapKeysTb4b4b4[Te6edf3idxTb4b4b4]Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3label Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72liTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72ulTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex items-start gap-3 sm:gap-5 max-w-3xl mx-auto rounded-2xl border border-gray-200 dark:border-zinc-700 bg-white/80 dark:bg-zinc-900/60 p-3.5 sm:p-5"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"shrink-0 pr-0.5 pt-0.5 sm:pt-1.5 sm:pr-1 flex items-start"Tb4b4b4>
Tb4b4b4<Tff7b72Toggle
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3defaultBootstrapOnlyTa5d6ff"
Tb4b4b4@Te6edf3updateTb4b4b4:Te6edf3model-valueTff7b72=Ta5d6ff"Te6edf3persistDefaultBootstrapOnlyTa5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1 pl-0.5 sm:pl-0 sm:pt-0.5"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-sm sm:text-base font-semibold text-gray-900 dark:text-white leading-snug"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_only_label"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p
Te6edf3classTff7b72=Ta5d6ff"text-xs sm:text-sm text-gray-500 dark:text-zinc-400 mt-1.5 sm:mt-2 leading-relaxed"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_only_hint"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3hasAnyBootstrapsToShowTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex w-full max-w-6xl mx-auto items-center gap-2 border-0 border-b border-gray-200/90 dark:border-zinc-600/90 py-1.5"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-magnify" Te6edf3sizeTff7b72=Ta5d6ff"22" Te6edf3classTff7b72=Ta5d6ff"shrink-0 text-gray-400" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3v-modelTff7b72=Ta5d6ff"Te6edf3bootstrapListSearchTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"search"
Te6edf3autocompleteTff7b72=Ta5d6ff"off"
Tb4b4b4:Te6edf3placeholderTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'tutorial.bootstrap_search_placeholder'Tb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1 border-0 bg-transparent p-0 text-base text-gray-900 shadow-none ring-0 outline-hidden focus:ring-0 dark:text-zinc-100 placeholder:text-gray-400 dark:placeholder:text-zinc-500"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3bootstrapListSearchTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"shrink-0 rounded p-1.5 text-gray-400 transition-colors hover:text-gray-700 dark:hover:text-zinc-200"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'tutorial.bootstrap_search_clear'Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3aria-labelTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'tutorial.bootstrap_search_clear'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3bootstrapListSearch Tff7b72= Ta5d6ff''Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-close" Te6edf3sizeTff7b72=Ta5d6ff"20" Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid max-w-6xl mx-auto grid-cols-1 items-start gap-6 lg:grid-cols-2"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3sortedDiscoveredInterfacesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"h-fit min-w-0 bg-emerald-500/5 dark:bg-emerald-500/10 rounded-3xl border border-emerald-500/20"
Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"flex w-full items-center justify-between gap-2 p-4 text-left sm:px-5"
Tb4b4b4:Te6edf3aria-expandedTff7b72=Ta5d6ff"Te6edf3bootstrapDiscoveredSectionOpenTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3bootstrapDiscoveredSectionOpen Tff7b72= Tff7b72!Te6edf3bootstrapDiscoveredSectionOpenTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex min-w-0 items-center gap-2.5 text-base"Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3bootstrapDiscoveredSectionOpen Tff7b72? Ta5d6ff'chevron-up' Tff7b72: Ta5d6ff'chevron-down'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"size-4 shrink-0 text-gray-500"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-radar" Te6edf3colorTff7b72=Ta5d6ff"emerald" Te6edf3sizeTff7b72=Ta5d6ff"22"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_discovered"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-showTff7b72=Ta5d6ff"Te6edf3bootstrapDiscoveredSectionOpenTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"px-4 pb-5 sm:px-5"Tb4b4b4>
Tb4b4b4<Tff7b72p
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3bootstrapListSearch Tff7b72&&
Te6edf3sortedDiscoveredInterfacesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0 Tff7b72&&
Te6edf3filteredDiscoveredForBootstrapTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0
Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-500 dark:text-zinc-400"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_search_no_match"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-else
Te6edf3classTff7b72=Ta5d6ff"max-h-[480px] space-y-2 overflow-y-auto pr-2 pt-1 custom-scrollbar"
Tb4b4b4>
Tb4b4b4<Tff7b72label
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3iface Tff7b72in Te6edf3filteredDiscoveredForBootstrapTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3ifaceTb4b4b4.Te6edf3nameTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex cursor-pointer items-center gap-3 rounded-xl border border-gray-100 bg-white p-3 transition-all dark:border-zinc-700 dark:bg-zinc-800"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3isBootstrapSelectedTb4b4b4(Ta5d6ff`Ta5d6ffdisc:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)
Tff7b72? Ta5d6ff'border-emerald-500 bg-emerald-50 dark:bg-emerald-900/20'
Tff7b72: Ta5d6ff'hover:border-emerald-400'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3typeTff7b72=Ta5d6ff"checkbox"
Te6edf3classTff7b72=Ta5d6ff"h-4 w-4 accent-emerald-500"
Tb4b4b4:Te6edf3checkedTff7b72=Ta5d6ff"
Te6edf3isBootstrapSelectedTb4b4b4(Ta5d6ff`Ta5d6ffdisc:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)
Ta5d6ff"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"Te6edf3toggleBootstrapTb4b4b4(Ta5d6ff`Ta5d6ffdisc:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3getDiscoveryIconTb4b4b4(Te6edf3ifaceTb4b4b4)Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"h-5 w-5 shrink-0 text-emerald-500"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"truncate text-sm font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3name Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"truncate font-mono text-[10px] text-gray-500 dark:text-zinc-400"
Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3reachable_onTa5d6ff"
Tb4b4b4>Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3reachable_on
Tff7b72}}Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3portTa5d6ff"Tb4b4b4>:Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3port Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3v-elseTb4b4b4>Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3type Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"ml-2 capitalize"Tb4b4b4>Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3status Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"h-fit min-w-0 rounded-3xl border border-gray-100 bg-gray-50 p-0 dark:border-zinc-800 dark:bg-zinc-900"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[Te6edf3sortedDiscoveredInterfacesTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0 Tff7b72? Ta5d6ff'lg:col-span-2' Tff7b72: Ta5d6ff''Tb4b4b4]Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex items-center justify-between gap-2 p-4 pr-2 sm:px-5"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"flex min-w-0 flex-1 items-center gap-2.5 text-left text-base"
Tb4b4b4:Te6edf3aria-expandedTff7b72=Ta5d6ff"Te6edf3bootstrapCommunitySectionOpenTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3bootstrapCommunitySectionOpen Tff7b72= Tff7b72!Te6edf3bootstrapCommunitySectionOpenTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72MaterialDesignIcon
Tb4b4b4:Te6edf3icon-nameTff7b72=Ta5d6ff"Te6edf3bootstrapCommunitySectionOpen Tff7b72? Ta5d6ff'chevron-up' Tff7b72: Ta5d6ff'chevron-down'Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"size-4 shrink-0 text-gray-500"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-web" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"22"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72span Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white"Tb4b4b4>Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_community"Tb4b4b4)
Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"shrink-0 rounded-lg p-2 text-gray-500 transition-colors hover:bg-gray-100 hover:text-blue-600 disabled:opacity-50 dark:hover:bg-zinc-800 dark:hover:text-blue-400"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3refreshingCommunityPresetsTa5d6ff"
Tb4b4b4:Te6edf3titleTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'interfaces.community_presets_refresh'Tb4b4b4)Ta5d6ff"
Tb4b4b4:Te6edf3aria-labelTff7b72=Ta5d6ff"Te6edf3$tTb4b4b4(Ta5d6ff'interfaces.community_presets_refresh'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3clickTb4b4b4.Te6edf3stopTff7b72=Ta5d6ff"Te6edf3refreshCommunityPresetsTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-refresh"
Te6edf3sizeTff7b72=Ta5d6ff"22"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4{ Ta5d6ff'animate-spin'Tff7b72: Te6edf3refreshingCommunityPresets Tb4b4b4}Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-showTff7b72=Ta5d6ff"Te6edf3bootstrapCommunitySectionOpenTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"px-4 pb-5 sm:px-5"Tb4b4b4>
Tb4b4b4<Tff7b72p
Te6edf3v-ifTff7b72=Ta5d6ff"
Te6edf3bootstrapListSearch Tff7b72&&
Te6edf3communityInterfacesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0 Tff7b72&&
Te6edf3filteredCommunityForBootstrapTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0
Ta5d6ff"
Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-500 dark:text-zinc-400"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_search_no_match"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3v-else
Te6edf3classTff7b72=Ta5d6ff"max-h-[480px] space-y-2 overflow-y-auto pr-2 pt-1 custom-scrollbar"
Tb4b4b4>
Tb4b4b4<Tff7b72label
Te6edf3v-forTff7b72=Ta5d6ff"Te6edf3iface Tff7b72in Te6edf3filteredCommunityForBootstrapTa5d6ff"
Tb4b4b4:Te6edf3keyTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3nameTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"flex cursor-pointer items-center gap-3 rounded-xl border border-gray-100 bg-white p-3 transition-all dark:border-zinc-700 dark:bg-zinc-800"
Tb4b4b4:Te6edf3classTff7b72=Ta5d6ff"Tb4b4b4[
Te6edf3isBootstrapSelectedTb4b4b4(Ta5d6ff`Ta5d6ffcomm:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)
Tff7b72? Ta5d6ff'border-blue-500 bg-blue-50 dark:bg-blue-900/20'
Tff7b72: Ta5d6ff'hover:border-blue-400'Tb4b4b4,
Tb4b4b4]Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72input
Te6edf3typeTff7b72=Ta5d6ff"checkbox"
Te6edf3classTff7b72=Ta5d6ff"h-4 w-4 accent-blue-500"
Tb4b4b4:Te6edf3checkedTff7b72=Ta5d6ff"Te6edf3isBootstrapSelectedTb4b4b4(Ta5d6ff`Ta5d6ffcomm:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3changeTff7b72=Ta5d6ff"Te6edf3toggleBootstrapTb4b4b4(Ta5d6ff`Ta5d6ffcomm:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4)Ta5d6ff"
Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-server-network" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"22"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"truncate text-sm font-bold text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3name Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"truncate font-mono text-[10px] text-gray-500 dark:text-zinc-400"
Tb4b4b4>
Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3target_host
Tff7b72}}Tb4b4b4<Tff7b72span Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3target_portTa5d6ff"Tb4b4b4>:Tff7b72{{ Te6edf3ifaceTb4b4b4.Te6edf3target_port Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72spanTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72span
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3ifaceTb4b4b4.Te6edf3onlineTa5d6ff"
Te6edf3classTff7b72=Ta5d6ff"shrink-0 text-[9px] font-bold uppercase tracking-widest text-green-500"
Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.online"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72span
Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72labelTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3loadingInterfacesTa5d6ff" Te6edf3classTff7b72=Ta5d6ff"flex justify-center py-3"Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3indeterminate
Te6edf3colorTff7b72=Ta5d6ff"blue"
Te6edf3sizeTff7b72=Ta5d6ff"24"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex flex-col sm:flex-row items-center justify-between gap-4 max-w-6xl mx-auto pt-4"
Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-sm text-gray-500 dark:text-zinc-500"Tb4b4b4>
Tff7b72{{
Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_selected"Tb4b4b4, Tb4b4b4{
Te6edf3countTff7b72: Te6edf3selectedBootstrapCountTb4b4b4,
Tb4b4b4}Tb4b4b4)
Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-secondary"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3skipBootstrapsTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_skip"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-success"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3addingBootstraps Tff7b72|| Te6edf3reloadingReticulum Tff7b72|| Te6edf3selectedBootstrapCount Tff7b72=== T79c0ff0Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3confirmBootstrapsTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3addingBootstraps Tff7b72|| Te6edf3reloadingReticulumTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"16"
Te6edf3widthTff7b72=Ta5d6ff"2"
Te6edf3classTff7b72=Ta5d6ff"mr-2"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_confirm"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 5: Propagation Mode -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff5Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"page-step5-prop" Te6edf3classTff7b72=Ta5d6ff"space-y-8 py-12"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-4xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center gap-10 py-12"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"bg-blue-500/10 dark:bg-blue-500/20 p-12 rounded-[3rem] text-center space-y-8 border border-blue-500/20 max-w-2xl shadow-2xl"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-server-network" Te6edf3colorTff7b72=Ta5d6ff"blue" Te6edf3sizeTff7b72=Ta5d6ff"80"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-3xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_question"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_auto"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-4 pt-4"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-primary"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3savingPropagationTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3enableAutoPropagationTa5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-progress-circular
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3savingPropagationTa5d6ff"
Te6edf3indeterminate
Te6edf3sizeTff7b72=Ta5d6ff"24"
Te6edf3widthTff7b72=Ta5d6ff"3"
Te6edf3classTff7b72=Ta5d6ff"mr-3"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-progress-circularTb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_enable_auto"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-secondary"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3nextStepTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_skip_auto"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"mt-8 pt-8 border-t-2 border-gray-200 dark:border-zinc-800"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-xl font-bold text-gray-900 dark:text-white mb-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_manual"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-base text-gray-500 dark:text-zinc-500"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.propagation_manual_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 6: Learn & Create -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff6Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"page-step6-tools" Te6edf3classTff7b72=Ta5d6ff"space-y-8 py-10"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"text-center space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-4xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-8 px-2 sm:px-0"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex w-full flex-col gap-5 max-w-2xl mx-auto"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex w-full flex-col gap-4 rounded-3xl border border-gray-100 bg-gray-50 p-6 dark:border-zinc-800 dark:bg-zinc-900 sm:p-8 sm:rounded-[2rem] touch-manipulation"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-4 sm:gap-5"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-book-open-variant"
Te6edf3colorTff7b72=Ta5d6ff"blue"
Te6edf3sizeTff7b72=Ta5d6ff"56"
Te6edf3classTff7b72=Ta5d6ff"shrink-0"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1 text-left"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xl font-bold text-gray-900 dark:text-white sm:text-2xl mb-2"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.documentation"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-700 dark:text-zinc-300 mb-6 text-base"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.documentation_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72a
Te6edf3hrefTff7b72=Ta5d6ff"/meshchatx-docs/index.html"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3classTff7b72=Ta5d6ff"flex min-h-12 items-center justify-center rounded-xl bg-blue-600 px-4 py-3 text-base font-semibold text-white shadow-xs transition-all hover:bg-blue-500"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.read_meshchatx_docs"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tff7b72a
Tb4b4b4:Te6edf3hrefTff7b72=Ta5d6ff"Te6edf3reticulumBundledDocsUrlTa5d6ff"
Te6edf3targetTff7b72=Ta5d6ff"_blank"
Te6edf3classTff7b72=Ta5d6ff"flex min-h-12 items-center justify-center rounded-xl border border-gray-300 bg-white px-4 py-3 text-base font-semibold text-gray-700 shadow-xs transition-all hover:border-blue-400 hover:bg-gray-50 dark:border-zinc-700 dark:bg-zinc-800 dark:text-zinc-300 dark:hover:border-blue-500 dark:hover:bg-zinc-700"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.reticulum_manual"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72aTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex w-full flex-col gap-4 rounded-3xl border border-gray-100 bg-gray-50 p-6 dark:border-zinc-800 dark:bg-zinc-900 sm:p-8 sm:rounded-[2rem] touch-manipulation"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-4 sm:gap-5"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-file-document-edit-outline"
Te6edf3colorTff7b72=Ta5d6ff"orange"
Te6edf3sizeTff7b72=Ta5d6ff"56"
Te6edf3classTff7b72=Ta5d6ff"shrink-0"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1 text-left"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xl font-bold text-gray-900 dark:text-white sm:text-2xl mb-2"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.micron_editor"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-700 dark:text-zinc-300 mb-6 text-base"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.micron_editor_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-3"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex flex-col gap-3 sm:flex-row"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"flex min-h-12 flex-1 items-center justify-center rounded-xl bg-orange-600 px-4 py-3 text-base font-semibold text-white transition-all hover:bg-orange-500"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'micron-editor'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.open_micron_editor"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"flex min-h-12 flex-1 items-center justify-center rounded-xl border border-gray-300 bg-white px-4 py-3 text-base font-semibold text-gray-700 transition-all hover:bg-gray-50 dark:border-zinc-700 dark:bg-zinc-800 dark:text-zinc-300 dark:hover:bg-zinc-700"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'mesh-server'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.open_mesh_server"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex w-full cursor-pointer flex-col gap-4 rounded-3xl border border-gray-100 bg-gray-50 p-6 transition-colors hover:border-indigo-500 dark:border-zinc-800 dark:bg-zinc-900 sm:p-8 sm:rounded-[2rem] touch-manipulation"
Te6edf3roleTff7b72=Ta5d6ff"button"
Te6edf3tabindexTff7b72=Ta5d6ff"0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'identities'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'identities'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-4 sm:gap-5"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-account-multiple-outline"
Te6edf3colorTff7b72=Ta5d6ff"indigo"
Te6edf3sizeTff7b72=Ta5d6ff"56"
Te6edf3classTff7b72=Ta5d6ff"shrink-0"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1 text-left"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xl font-bold text-gray-900 dark:text-white sm:text-2xl mb-2"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identities_card_title"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-700 dark:text-zinc-300 text-base"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identities_card_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex w-full cursor-pointer flex-col gap-4 rounded-3xl border border-gray-100 bg-gray-50 p-6 transition-colors hover:border-teal-500 dark:border-zinc-800 dark:bg-zinc-900 sm:p-8 sm:rounded-[2rem] touch-manipulation min-h-[5rem]"
Te6edf3roleTff7b72=Ta5d6ff"button"
Te6edf3tabindexTff7b72=Ta5d6ff"0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'archives'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'archives'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-4 sm:gap-5"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-archive-outline"
Te6edf3colorTff7b72=Ta5d6ff"teal"
Te6edf3sizeTff7b72=Ta5d6ff"56"
Te6edf3classTff7b72=Ta5d6ff"shrink-0"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0 flex-1 text-left"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-xl font-bold text-gray-900 dark:text-white sm:text-2xl mb-2"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-gray-700 dark:text-zinc-300 text-base"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.archiver_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-center text-sm font-semibold text-gray-600 dark:text-zinc-400 px-2"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.learn_create_more"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"grid grid-cols-2 gap-3 max-w-2xl mx-auto px-1 sm:px-0"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex cursor-pointer flex-col gap-2 rounded-2xl border border-gray-100 bg-gray-50 p-3 dark:border-zinc-800 dark:bg-zinc-900 transition-colors hover:border-blue-500 touch-manipulation min-h-[6.5rem]"
Te6edf3roleTff7b72=Ta5d6ff"button"
Te6edf3tabindexTff7b72=Ta5d6ff"0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'nomadnetwork'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'nomadnetwork'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-earth" Te6edf3colorTff7b72=Ta5d6ff"purple" Te6edf3sizeTff7b72=Ta5d6ff"28" Te6edf3classTff7b72=Ta5d6ff"shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-xs sm:text-sm leading-tight"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.paper_messages"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[10px] sm:text-xs text-gray-600 dark:text-zinc-400 mt-1 leading-snug line-clamp-4"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.paper_messages_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex cursor-pointer flex-col gap-2 rounded-2xl border border-gray-100 bg-gray-50 p-3 dark:border-zinc-800 dark:bg-zinc-900 transition-colors hover:border-blue-500 touch-manipulation min-h-[6.5rem]"
Te6edf3roleTff7b72=Ta5d6ff"button"
Te6edf3tabindexTff7b72=Ta5d6ff"0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'messages'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'messages'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-message-text-outline"
Te6edf3colorTff7b72=Ta5d6ff"green"
Te6edf3sizeTff7b72=Ta5d6ff"28"
Te6edf3classTff7b72=Ta5d6ff"shrink-0"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-xs sm:text-sm leading-tight"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.send_messages"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[10px] sm:text-xs text-gray-600 dark:text-zinc-400 mt-1 leading-snug line-clamp-4"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.send_messages_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex cursor-pointer flex-col gap-2 rounded-2xl border border-gray-100 bg-gray-50 p-3 dark:border-zinc-800 dark:bg-zinc-900 transition-colors hover:border-blue-500 touch-manipulation min-h-[6.5rem]"
Te6edf3roleTff7b72=Ta5d6ff"button"
Te6edf3tabindexTff7b72=Ta5d6ff"0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'network-visualiser'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'network-visualiser'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-hub" Te6edf3colorTff7b72=Ta5d6ff"teal" Te6edf3sizeTff7b72=Ta5d6ff"28" Te6edf3classTff7b72=Ta5d6ff"shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-xs sm:text-sm leading-tight"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.explore_nodes"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[10px] sm:text-xs text-gray-600 dark:text-zinc-400 mt-1 leading-snug line-clamp-4"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.explore_nodes_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"flex cursor-pointer flex-col gap-2 rounded-2xl border border-gray-100 bg-gray-50 p-3 dark:border-zinc-800 dark:bg-zinc-900 transition-colors hover:border-blue-500 touch-manipulation min-h-[6.5rem]"
Te6edf3roleTff7b72=Ta5d6ff"button"
Te6edf3tabindexTff7b72=Ta5d6ff"0"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'call'Tb4b4b4)Ta5d6ff"
Tb4b4b4@Te6edf3keydownTb4b4b4.Te6edf3enterTff7b72=Ta5d6ff"Te6edf3gotoRouteTb4b4b4(Ta5d6ff'call'Tb4b4b4)Ta5d6ff"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon
Te6edf3iconTff7b72=Ta5d6ff"mdi-phone-in-talk-outline"
Te6edf3colorTff7b72=Ta5d6ff"red"
Te6edf3sizeTff7b72=Ta5d6ff"28"
Te6edf3classTff7b72=Ta5d6ff"shrink-0"
Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"min-w-0"Tb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"font-bold text-gray-900 dark:text-white text-xs sm:text-sm leading-tight"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_calls"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"text-[10px] sm:text-xs text-gray-600 dark:text-zinc-400 mt-1 leading-snug line-clamp-4"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.voice_calls_desc"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 7: Privacy -->
Tb4b4b4<Tff7b72div Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff7Ta5d6ff" Te6edf3keyTff7b72=Ta5d6ff"page-step7-privacy" Te6edf3classTff7b72=Ta5d6ff"space-y-6 py-8"Tb4b4b4>
Tb4b4b4<Tff7b72TutorialPrivacyStep Tb4b4b4/Tb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

T8b949e<!-- Step 8: Finish -->
Tb4b4b4<Tff7b72div
Te6edf3v-else-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72=== T79c0ff8Ta5d6ff"
Te6edf3keyTff7b72=Ta5d6ff"page-step8-finish"
Te6edf3classTff7b72=Ta5d6ff"flex flex-col items-center text-center space-y-10 py-20"
Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"w-48 h-48 bg-green-500/10 rounded-full flex items-center justify-center relative"Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-check-decagram" Te6edf3colorTff7b72=Ta5d6ff"green" Te6edf3sizeTff7b72=Ta5d6ff"120"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"absolute inset-0 bg-green-500/20 rounded-full animate-ping opacity-20"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-4"Tb4b4b4>
Tb4b4b4<Tff7b72h2 Te6edf3classTff7b72=Ta5d6ff"text-5xl font-black text-gray-900 dark:text-white"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72h2Tb4b4b4>
Tb4b4b4<Tff7b72p Te6edf3classTff7b72=Ta5d6ff"text-xl text-gray-600 dark:text-zinc-400 max-w-2xl mx-auto"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72pTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div
Te6edf3classTff7b72=Ta5d6ff"p-6 bg-amber-50 dark:bg-amber-900/20 rounded-3xl border border-amber-100 dark:border-amber-900/30 text-amber-700 dark:text-amber-400 flex gap-4 max-w-xl text-left"
Tb4b4b4>
Tb4b4b4<Tff7b72v-icon Te6edf3iconTff7b72=Ta5d6ff"mdi-information-outline" Te6edf3sizeTff7b72=Ta5d6ff"32" Te6edf3classTff7b72=Ta5d6ff"shrink-0"Tb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72v-iconTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"space-y-1"Tb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"font-bold text-lg"Tb4b4b4>Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.restart_required"Tb4b4b4) Tff7b72}}Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"opacity-90"Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.restart_desc_page"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72transitionTb4b4b4>

T8b949e<!-- Navigation Buttons (Page Mode) -->
Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex justify-between items-center mt-12 border-t dark:border-zinc-900 pt-8"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72> T79c0ff1 Tff7b72&& Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-secondary"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3previousStepTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.back"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tff7b72div Te6edf3v-elseTb4b4b4>Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>

Tb4b4b4<Tff7b72div Te6edf3classTff7b72=Ta5d6ff"flex gap-4"Tb4b4b4>
Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3currentStep Tff7b72< Te6edf3totalStepsTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-secondary"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3skipTutorialTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.skip_setup"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3v-ifTff7b72=Ta5d6ff"Te6edf3showFooterContinueTa5d6ff"
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-primary"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"
Tb4b4b4(Te6edf3currentStep Tff7b72=== T79c0ff2 Tff7b72&& Te6edf3identityImportInProgressTb4b4b4) Tff7b72||
Tb4b4b4(Te6edf3currentStep Tff7b72=== T79c0ff2 Tff7b72&& Te6edf3identityMode Tff7b72=== Ta5d6ff'import' Tff7b72&& Tff7b72!Te6edf3hasIdentityImportInputTb4b4b4)
Ta5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3handlePrimaryActionTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.continue"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>

Tb4b4b4<Tff7b72button
Te6edf3v-else
Te6edf3typeTff7b72=Ta5d6ff"button"
Te6edf3classTff7b72=Ta5d6ff"tutorial-action-btn tutorial-action-btn-success"
Tb4b4b4:Te6edf3disabledTff7b72=Ta5d6ff"Te6edf3finishingTutorialTa5d6ff"
Tb4b4b4@Te6edf3clickTff7b72=Ta5d6ff"Te6edf3finishTutorialTa5d6ff"
Tb4b4b4>
Tff7b72{{ Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.finish_setup"Tb4b4b4) Tff7b72}}
Tb4b4b4<Tb4b4b4/Tff7b72buttonTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72divTb4b4b4>
Tb4b4b4<Tb4b4b4/Tff7b72templateTb4b4b4>

Tb4b4b4<Tff7b72scriptTb4b4b4>
Tff7b72import Te6edf3logoUrl Tff7b72from Ta5d6ff"../assets/images/logo.png"Tb4b4b4;
Tff7b72import Te6edf3AndroidStorageBridge Tff7b72from Ta5d6ff"../js/AndroidStorageBridge.js"Tb4b4b4;
Tff7b72import Te6edf3ToastUtils Tff7b72from Ta5d6ff"../js/ToastUtils"Tb4b4b4;
Tff7b72import Te6edf3DialogUtils Tff7b72from Ta5d6ff"../js/DialogUtils"Tb4b4b4;
Tff7b72import Te6edf3GlobalState Tff7b72from Ta5d6ff"../js/GlobalState"Tb4b4b4;
Tff7b72import Tb4b4b4{ Te6edf3bundledReticulumDocsUrl Tb4b4b4} Tff7b72from Ta5d6ff"../js/reticulumDocsEntryUrl.js"Tb4b4b4;
Tff7b72import Te6edf3LanguageSelector Tff7b72from Ta5d6ff"./LanguageSelector.vue"Tb4b4b4;
Tff7b72import Te6edf3MaterialDesignIcon Tff7b72from Ta5d6ff"./MaterialDesignIcon.vue"Tb4b4b4;
Tff7b72import Te6edf3Toggle Tff7b72from Ta5d6ff"./forms/Toggle.vue"Tb4b4b4;
Tff7b72import Te6edf3TutorialPrivacyStep Tff7b72from Ta5d6ff"./TutorialPrivacyStep.vue"Tb4b4b4;

Tff7b72export Tff7b72default Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"TutorialModal"Tb4b4b4,
Te6edf3componentsTff7b72: Tb4b4b4{
Te6edf3LanguageSelectorTb4b4b4,
Te6edf3MaterialDesignIconTb4b4b4,
Te6edf3ToggleTb4b4b4,
Te6edf3TutorialPrivacyStepTb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3dataTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4{
Te6edf3visibleTff7b72: Tff7b72falseTb4b4b4,
Te6edf3currentStepTff7b72: T79c0ff1Tb4b4b4,
Te6edf3totalStepsTff7b72: T79c0ff8Tb4b4b4,
Te6edf3logoUrlTb4b4b4,
Te6edf3identityModeTff7b72: Ta5d6ff"new"Tb4b4b4,
Te6edf3identityNameTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3identityImportBase32Tff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3identityImportFileTff7b72: Tff7b72nullTb4b4b4,
Te6edf3identityImportInProgressTff7b72: Tff7b72falseTb4b4b4,
Te6edf3identityImportErrorTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3identityImportedHashTff7b72: Tff7b72nullTb4b4b4,
Te6edf3originalIdentityHashTff7b72: Tff7b72nullTb4b4b4,
Te6edf3communityInterfacesTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3loadingInterfacesTff7b72: Tff7b72falseTb4b4b4,
Te6edf3finishingTutorialTff7b72: Tff7b72falseTb4b4b4,
Te6edf3interfaceAddedViaTutorialTff7b72: Tff7b72falseTb4b4b4,
Te6edf3connectionModeTff7b72: Tff7b72nullTb4b4b4,
Te6edf3selectedBootstrapKeysTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3addedBootstrapKeysTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3addingBootstrapsTff7b72: Tff7b72falseTb4b4b4,
Te6edf3addingLocalTff7b72: Tff7b72falseTb4b4b4,
Te6edf3reloadingReticulumTff7b72: Tff7b72falseTb4b4b4,
Te6edf3discoveredInterfacesTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3discoveredActiveTff7b72: Tb4b4b4[Tb4b4b4]Tb4b4b4,
Te6edf3loadingDiscoveredTff7b72: Tff7b72falseTb4b4b4,
Te6edf3savingDiscoveryTff7b72: Tff7b72falseTb4b4b4,
Te6edf3savingPropagationTff7b72: Tff7b72falseTb4b4b4,
Te6edf3discoveryIntervalTff7b72: Tff7b72nullTb4b4b4,
Te6edf3markingSeenTff7b72: Tff7b72falseTb4b4b4,
Te6edf3windowWidthTff7b72: Tff7b72typeof Tffa657window Tff7b72!== Ta5d6ff"undefined" Tff7b72? Tffa657windowTb4b4b4.Te6edf3innerWidth Tff7b72: T79c0ff1024Tb4b4b4,
Te6edf3defaultBootstrapOnlyTff7b72: Tff7b72falseTb4b4b4,
Te6edf3refreshingCommunityPresetsTff7b72: Tff7b72falseTb4b4b4,
Te6edf3bootstrapListSearchTff7b72: Ta5d6ff""Tb4b4b4,
Te6edf3bootstrapDiscoveredSectionOpenTff7b72: Tff7b72trueTb4b4b4,
Te6edf3bootstrapCommunitySectionOpenTff7b72: Tff7b72trueTb4b4b4,
Te6edf3bootstrapAutoPickDoneTff7b72: Tff7b72falseTb4b4b4,
Te6edf3pickingRandomBootstrapsTff7b72: Tff7b72falseTb4b4b4,
Te6edf3addingRecommendedTff7b72: Tff7b72falseTb4b4b4,
Te6edf3migrationOfferTff7b72: Tff7b72nullTb4b4b4,
Te6edf3migrationBusyTff7b72: Tff7b72falseTb4b4b4,
Te6edf3androidStorageSetupTff7b72: Tff7b72nullTb4b4b4,
Te6edf3androidStorageSetupChoiceTff7b72: Ta5d6ff"external"Tb4b4b4,
Te6edf3androidStorageBusyTff7b72: Tff7b72falseTb4b4b4,
Te6edf3androidStorageBridgeTff7b72: Tff7b72nullTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3computedTff7b72: Tb4b4b4{
Te6edf3isPageTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3$routeTff7b72?Tb4b4b4.Te6edf3metaTff7b72?Tb4b4b4.Te6edf3isPage Tff7b72=== Tff7b72trueTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3dialogFullscreenTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3windowWidth Tff7b72< T79c0ff768Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3configTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3sortedDiscoveredInterfacesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4[Tb4b4b4...Tff7b72thisTb4b4b4.Te6edf3discoveredInterfacesTb4b4b4]Tb4b4b4.Te6edf3sortTb4b4b4(Tb4b4b4(Te6edf3aTb4b4b4, Te6edf3bTb4b4b4) Tb4b4b4=> Tb4b4b4(Te6edf3bTb4b4b4.Te6edf3last_heard Tff7b72|| T79c0ff0Tb4b4b4) Tff7b72- Tb4b4b4(Te6edf3aTb4b4b4.Te6edf3last_heard Tff7b72|| T79c0ff0Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3interfacesWithLocationTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3discoveredInterfacesTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3ifaceTb4b4b4) Tb4b4b4=> Te6edf3ifaceTb4b4b4.Te6edf3latitude Tff7b72!= Tff7b72null Tff7b72&& Te6edf3ifaceTb4b4b4.Te6edf3longitude Tff7b72!= Tff7b72nullTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3bootstrapCommunityKeyTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3ifaceTb4b4b4) Tb4b4b4=> Ta5d6ff`Ta5d6ffcomm:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3bootstrapDiscoveredKeyTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4(Te6edf3ifaceTb4b4b4) Tb4b4b4=> Ta5d6ff`Ta5d6ffdisc:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3hasAnyBootstrapsToShowTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3communityInterfacesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0 Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3sortedDiscoveredInterfacesTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3filteredDiscoveredForBootstrapTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3list Tff7b72= Tff7b72thisTb4b4b4.Te6edf3sortedDiscoveredInterfacesTb4b4b4;
Tff7b72const Te6edf3q Tff7b72= Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3bootstrapListSearch Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3qTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3listTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3listTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3ifaceTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3parts Tff7b72= Tb4b4b4[
Te6edf3ifaceTb4b4b4.Te6edf3nameTb4b4b4,
Te6edf3ifaceTb4b4b4.Te6edf3typeTb4b4b4,
Te6edf3ifaceTb4b4b4.Te6edf3reachable_onTb4b4b4,
Tffa657StringTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3port Tff7b72?? Ta5d6ff""Tb4b4b4)Tb4b4b4,
Te6edf3ifaceTb4b4b4.Te6edf3statusTb4b4b4,
Te6edf3ifaceTb4b4b4.Te6edf3discovery_hashTb4b4b4,
Tb4b4b4]Tb4b4b4.Te6edf3filterTb4b4b4(Tffa657BooleanTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3partsTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff" "Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3qTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3filteredCommunityForBootstrapTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3list Tff7b72= Tff7b72thisTb4b4b4.Te6edf3communityInterfacesTb4b4b4;
Tff7b72const Te6edf3q Tff7b72= Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3bootstrapListSearch Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3qTb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3listTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3listTb4b4b4.Te6edf3filterTb4b4b4(Tb4b4b4(Te6edf3ifaceTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72const Te6edf3parts Tff7b72= Tb4b4b4[Te6edf3ifaceTb4b4b4.Te6edf3nameTb4b4b4, Te6edf3ifaceTb4b4b4.Te6edf3target_hostTb4b4b4, Tffa657StringTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3target_port Tff7b72?? Ta5d6ff""Tb4b4b4)Tb4b4b4, Te6edf3ifaceTb4b4b4.Te6edf3typeTb4b4b4]Tb4b4b4.Te6edf3filterTb4b4b4(
Tffa657Boolean
Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3partsTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff" "Tb4b4b4)Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3qTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3selectedBootstrapCountTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3selectedBootstrapKeysTb4b4b4.Te6edf3lengthTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3reticulumBundledDocsUrlTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3bundledReticulumDocsUrlTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$i18nTb4b4b4.Te6edf3localeTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3defaultUsernameTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff"Anonymous Peer"Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3hasIdentityImportInputTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tffa657BooleanTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3identityImportFile Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3normalizeBase32Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3identityImportBase32Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3bootstrapSelectedLabelsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3selectedBootstrapKeysTb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3kTb4b4b4) Tb4b4b4=> Tff7b72thisTb4b4b4.Te6edf3bootstrapDisplayLabelForKeyTb4b4b4(Te6edf3kTb4b4b4)Tb4b4b4)Tb4b4b4.Te6edf3filterTb4b4b4(Tffa657BooleanTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3showFooterContinueTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72=== T79c0ff3 Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72=== T79c0ff4Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72< Tff7b72thisTb4b4b4.Te6edf3totalStepsTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3watchTff7b72: Tb4b4b4{
Te6edf3communityInterfacesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tff7b72void Tff7b72thisTb4b4b4.Te6edf3maybeAutoPickBootstrapTcpTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3discoveredInterfacesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tff7b72void Tff7b72thisTb4b4b4.Te6edf3maybeAutoPickBootstrapTcpTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3currentStepTb4b4b4(Te6edf3valTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3val Tff7b72=== T79c0ff4Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$nextTickTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tff7b72void Tff7b72thisTb4b4b4.Te6edf3maybeAutoPickBootstrapTcpTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Te6edf3beforeUnmountTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3onWindowResizeTb4b4b4) Tb4b4b4{
Tffa657windowTb4b4b4.Te6edf3removeEventListenerTb4b4b4(Ta5d6ff"resize"Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3onWindowResizeTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3discoveryIntervalTb4b4b4) Tb4b4b4{
Te6edf3clearIntervalTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3discoveryIntervalTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3mountedTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3onWindowResize Tff7b72= Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3windowWidth Tff7b72= Tffa657windowTb4b4b4.Te6edf3innerWidthTb4b4b4;
Tb4b4b4}Tb4b4b4;
Tffa657windowTb4b4b4.Te6edf3addEventListenerTb4b4b4(Ta5d6ff"resize"Tb4b4b4, Tff7b72thisTb4b4b4.Te6edf3onWindowResizeTb4b4b4, Tb4b4b4{ Te6edf3passiveTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3isPageTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadIdentitySetupDefaultsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3loadDiscoveryBootstrapDefaultsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3loadDiscoveredInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3refreshMigrationOfferTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3refreshAndroidStorageSetupTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3discoveryInterval Tff7b72= Te6edf3setIntervalTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadDiscoveredInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff5000Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3methodsTff7b72: Tb4b4b4{
Te6edf3resetIdentitySetupStateTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3identityMode Tff7b72= Ta5d6ff"new"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityName Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportBase32 Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportFile Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportError Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportInProgress Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3originalIdentityHash Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3finishingTutorial Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3setIdentityModeTb4b4b4(Te6edf3modeTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3identityMode Tff7b72= Te6edf3modeTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportError Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3mode Tff7b72=== Ta5d6ff"new"Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3identityImportFile Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportBase32 Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72= Tff7b72nullTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3normalizeBase32Tb4b4b4(Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72return Tffa657StringTb4b4b4(Te6edf3value Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3replaceTb4b4b4(Ta5d6ff/\s+/gTb4b4b4, Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3onIdentityImportBase32InputTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportError Tff7b72= Ta5d6ff""Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3loadIdentitySetupDefaultsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Tb4b4b4[Te6edf3identitiesResTb4b4b4, Te6edf3configResTb4b4b4] Tff7b72= Tff7b72await Tffa657PromiseTb4b4b4.Te6edf3allTb4b4b4(Tb4b4b4[
Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/identities"Tb4b4b4)Tb4b4b4,
Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4)Tb4b4b4,
Tb4b4b4]Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3identities Tff7b72= Te6edf3identitiesResTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3identities Tff7b72?? Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72const Te6edf3currentIdentity Tff7b72= Te6edf3identitiesTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3itemTb4b4b4) Tb4b4b4=> Te6edf3itemTb4b4b4.Te6edf3is_currentTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3originalIdentityHash Tff7b72= Te6edf3currentIdentityTff7b72?Tb4b4b4.Te6edf3hash Tff7b72|| Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityName Tff7b72= Te6edf3configResTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3configTff7b72?Tb4b4b4.Te6edf3display_name Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3defaultUsernameTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to load identity setup defaults:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityName Tff7b72= Tff7b72thisTb4b4b4.Te6edf3defaultUsernameTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3onIdentityImportFileChangeTb4b4b4(Te6edf3eventTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3files Tff7b72= Te6edf3eventTff7b72?Tb4b4b4.Te6edf3targetTff7b72?Tb4b4b4.Te6edf3filesTb4b4b4;
Tff7b72const Te6edf3file Tff7b72= Te6edf3filesTff7b72?Tb4b4b4.Tb4b4b4[T79c0ff0Tb4b4b4] Tff7b72|| Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportError Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3file Tff7b72&& Te6edf3fileTb4b4b4.Te6edf3size Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3identityImportFile Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportError Tff7b72= Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import_empty_file"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3file Tff7b72&& Te6edf3fileTb4b4b4.Te6edf3size Tff7b72> T79c0ff65536Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3identityImportFile Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportError Tff7b72= Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import_file_too_large"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3identityImportFile Tff7b72= Te6edf3fileTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3eventTff7b72?Tb4b4b4.Te6edf3targetTb4b4b4) Tb4b4b4{
Te6edf3eventTb4b4b4.Te6edf3targetTb4b4b4.Te6edf3value Tff7b72= Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3importIdentityFromFileTb4b4b4(Te6edf3fileTb4b4b4, Te6edf3displayNameTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3formData Tff7b72= Tff7b72new Te6edf3FormDataTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3formDataTb4b4b4.Te6edf3appendTb4b4b4(Ta5d6ff"file"Tb4b4b4, Te6edf3fileTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3displayNameTb4b4b4) Tb4b4b4{
Te6edf3formDataTb4b4b4.Te6edf3appendTb4b4b4(Ta5d6ff"display_name"Tb4b4b4, Te6edf3displayNameTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/identity/restore"Tb4b4b4, Te6edf3formDataTb4b4b4, Tb4b4b4{
Te6edf3headersTff7b72: Tb4b4b4{ Ta5d6ff"Content-Type"Tff7b72: Ta5d6ff"multipart/form-data" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3identityTff7b72?Tb4b4b4.Te6edf3hash Tff7b72|| Tff7b72nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3importIdentityFromBase32Tb4b4b4(Te6edf3base32Tb4b4b4, Te6edf3displayNameTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3payload Tff7b72= Tb4b4b4{ Te6edf3base32Tff7b72: Tff7b72thisTb4b4b4.Te6edf3normalizeBase32Tb4b4b4(Te6edf3base32Tb4b4b4) Tb4b4b4}Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3displayNameTb4b4b4) Tb4b4b4{
Te6edf3payloadTb4b4b4.Te6edf3display_name Tff7b72= Te6edf3displayNameTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/identity/restore"Tb4b4b4, Te6edf3payloadTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3identityTff7b72?Tb4b4b4.Te6edf3hash Tff7b72|| Tff7b72nullTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3handleIdentityContinueTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3identityImportInProgressTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3trimmedName Tff7b72= Tff7b72thisTb4b4b4.Te6edf3identityNameTb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4) Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3defaultUsernameTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportError Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3identityMode Tff7b72=== Ta5d6ff"new"Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Tb4b4b4{
Te6edf3display_nameTff7b72: Te6edf3trimmedNameTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3display_name Tff7b72= Te6edf3trimmedNameTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff3Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3identityImportError Tff7b72=
Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_name_update_failed"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3hasIdentityImportInputTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3identityImportError Tff7b72= Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import_required"Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3identityImportInProgress Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72let Te6edf3importedHash Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3identityImportFileTb4b4b4) Tb4b4b4{
Te6edf3importedHash Tff7b72= Tff7b72await Tff7b72thisTb4b4b4.Te6edf3importIdentityFromFileTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3identityImportFileTb4b4b4, Te6edf3trimmedNameTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportFile Tff7b72= Tff7b72nullTb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3importedHash Tff7b72= Tff7b72await Tff7b72thisTb4b4b4.Te6edf3importIdentityFromBase32Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3identityImportBase32Tb4b4b4, Te6edf3trimmedNameTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3identityImportBase32 Tff7b72= Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3importedHashTb4b4b4) Tb4b4b4{
Tff7b72throw Tff7b72new Tf85149ErrorTb4b4b4(Ta5d6ff"Missing imported identity hash"Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72= Te6edf3importedHashTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff3Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3identityImportError Tff7b72= Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import_failed"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3identityImportInProgress Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3toggleThemeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3newTheme Tff7b72= Tff7b72thisTb4b4b4.Te6edf3configTb4b4b4.Te6edf3theme Tff7b72=== Ta5d6ff"dark" Tff7b72? Ta5d6ff"light" Tff7b72: Ta5d6ff"dark"Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Tb4b4b4{
Te6edf3themeTff7b72: Te6edf3newThemeTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3theme Tff7b72= Te6edf3newThemeTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to update theme:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3onLanguageChangeTb4b4b4(Te6edf3langCodeTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Tb4b4b4{
Te6edf3languageTff7b72: Te6edf3langCodeTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3$i18nTb4b4b4.Te6edf3locale Tff7b72= Te6edf3langCodeTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3language Tff7b72= Te6edf3langCodeTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to update language:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3showTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff1Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3resetIdentitySetupStateTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3interfaceAddedViaTutorial Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3connectionMode Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3selectedBootstrapKeys Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3addedBootstrapKeys Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapListSearch Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapDiscoveredSectionOpen Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapCommunitySectionOpen Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapAutoPickDone Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshMigrationOfferTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3refreshAndroidStorageSetupTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadIdentitySetupDefaultsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadDiscoveryBootstrapDefaultsTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadDiscoveredInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;

Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3discoveryIntervalTb4b4b4) Tb4b4b4{
Te6edf3clearIntervalTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3discoveryIntervalTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3discoveryInterval Tff7b72= Te6edf3setIntervalTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadDiscoveredInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff5000Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadingInterfaces Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/community-interfaces"Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3communityInterfaces Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTb4b4b4.Te6edf3interfacesTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to load community interfaces:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadingInterfaces Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3refreshCommunityPresetsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3refreshingCommunityPresetsTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3refreshingCommunityPresets Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3r Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/community-interfaces/refresh"Tb4b4b4, Tb4b4b4{Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3n Tff7b72= Te6edf3rTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3count Tff7b72?? T79c0ff0Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"interfaces.community_presets_refreshed"Tb4b4b4, Tb4b4b4{ Te6edf3countTff7b72: Te6edf3n Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"interfaces.community_presets_refresh_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3refreshingCommunityPresets Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3loadDiscoveredInterfacesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadingDiscovered Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff`Ta5d6ff/api/v1/reticulum/discovered-interfacesTa5d6ff`Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3discoveredInterfaces Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3interfaces Tff7b72?? Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3discoveredActive Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3active Tff7b72?? Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to load discovered interfaces:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3loadingDiscovered Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3refreshMigrationOfferTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3migrationOffer Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/app/info"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3m Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3app_infoTff7b72?Tb4b4b4.Te6edf3migrationTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3m Tff7b72&& Te6edf3mTb4b4b4.Te6edf3show_choiceTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3migrationOffer Tff7b72= Te6edf3mTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to load migration status:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3ensureAndroidStorageBridgeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3androidStorageBridgeTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3androidStorageBridge Tff7b72= Tff7b72new Te6edf3AndroidStorageBridgeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3androidStorageBridgeTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3refreshAndroidStorageSetupTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3androidStorageSetup Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72const Te6edf3bridge Tff7b72= Tff7b72thisTb4b4b4.Te6edf3ensureAndroidStorageBridgeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3bridgeTb4b4b4.Te6edf3isAndroidHostTb4b4b4(Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3status Tff7b72= Te6edf3bridgeTb4b4b4.Te6edf3getStatusTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3statusTff7b72?Tb4b4b4.Te6edf3needs_setup_choiceTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3androidStorageSetup Tff7b72= Te6edf3statusTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3androidStorageSetupChoice Tff7b72= Te6edf3statusTb4b4b4.Te6edf3active_mode Tff7b72=== Ta5d6ff"internal" Tff7b72? Ta5d6ff"internal" Tff7b72: Ta5d6ff"external"Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3applyAndroidStorageSetupTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3androidStorageBusy Tff7b72|| Tff7b72!Tff7b72thisTb4b4b4.Te6edf3androidStorageSetupTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3bridge Tff7b72= Tff7b72thisTb4b4b4.Te6edf3ensureAndroidStorageBridgeTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3mode Tff7b72= Tff7b72thisTb4b4b4.Te6edf3androidStorageSetupChoice Tff7b72|| Ta5d6ff"external"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3androidStorageBusy Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3result Tff7b72= Te6edf3bridgeTb4b4b4.Te6edf3applySetupChoiceTb4b4b4(Te6edf3modeTb4b4b4, Tff7b72thisTb4b4b4.Te6edf3androidStorageSetupTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3resultTb4b4b4.Te6edf3restartedTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.restart_to_apply"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3androidStorageSetup Tff7b72= Tff7b72nullTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"android_storage.failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3androidStorageBusy Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3migrationMigrateTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3migrationBusy Tff7b72|| Tff7b72!Tff7b72thisTb4b4b4.Te6edf3migrationOfferTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3migrationBusy Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/setup/storage-migration"Tb4b4b4, Tb4b4b4{ Te6edf3actionTff7b72: Ta5d6ff"migrate" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_done_restart"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tffa657windowTb4b4b4.Te6edf3electron Tff7b72&& Tff7b72typeof Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3relaunch Tff7b72=== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3relaunchTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3error Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3migrationBusy Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3migrationFreshTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3migrationBusy Tff7b72|| Tff7b72!Tff7b72thisTb4b4b4.Te6edf3migrationOfferTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3migrationBusy Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/setup/storage-migration"Tb4b4b4, Tb4b4b4{ Te6edf3actionTff7b72: Ta5d6ff"fresh" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_done_restart"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tffa657windowTb4b4b4.Te6edf3electron Tff7b72&& Tff7b72typeof Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3relaunch Tff7b72=== Ta5d6ff"function"Tb4b4b4) Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3electronTb4b4b4.Te6edf3relaunchTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3error Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.migration_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3migrationBusy Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3reloadReticulumTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3reloadingReticulum Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/reticulum/reload"Tb4b4b4)Tb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3hasPendingInterfaceChanges Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3GlobalStateTb4b4b4.Te6edf3modifiedInterfaceNames Tff7b72&& Te6edf3GlobalStateTb4b4b4.Te6edf3modifiedInterfaceNamesTb4b4b4.Te6edf3clearTb4b4b4) Tb4b4b4{
Te6edf3GlobalStateTb4b4b4.Te6edf3modifiedInterfaceNamesTb4b4b4.Te6edf3clearTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to reload Reticulum:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.failed_reload_rns"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3reloadingReticulum Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3useRecommendedModeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3addingRecommendedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3addingRecommended Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/reticulum/interfaces/add"Tb4b4b4, Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"Local Network"Tb4b4b4,
Te6edf3typeTff7b72: Ta5d6ff"AutoInterface"Tb4b4b4,
Te6edf3enabledTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3interfaceAddedViaTutorial Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3hasPendingInterfaceChanges Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3modifiedInterfaceNamesTb4b4b4.Te6edf3addTb4b4b4(Ta5d6ff"Local Network"Tb4b4b4)Tb4b4b4;

Tff7b72const Te6edf3payload Tff7b72= Tb4b4b4{
Te6edf3discover_interfacesTff7b72: Tff7b72trueTb4b4b4,
Te6edf3autoconnect_discovered_interfacesTff7b72: T79c0ff3Tb4b4b4,
Te6edf3default_bootstrap_onlyTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff`Ta5d6ff/api/v1/reticulum/discoveryTa5d6ff`Tb4b4b4, Te6edf3payloadTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3defaultBootstrapOnly Tff7b72= Tff7b72falseTb4b4b4;

Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.mode_recommended_added"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3connectionMode Tff7b72= Ta5d6ff"recommended"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff4Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapListSearch Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapDiscoveredSectionOpen Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapCommunitySectionOpen Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapAutoPickDone Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadDiscoveredInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3pickRandomTcpBootstrapsTb4b4b4(Tb4b4b4{ Te6edf3silentTff7b72: Tff7b72trueTb4b4b4, Te6edf3autoTff7b72: Tff7b72trueTb4b4b4, Te6edf3countTff7b72: T79c0ff3 Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapAutoPickDone Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to apply recommended connection mode:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(
Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72||
Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.failed_add_local"Tb4b4b4) Tff7b72||
Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.failed_enable_discovery"Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3addingRecommended Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3useDiscoveryModeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3savingDiscovery Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3payload Tff7b72= Tb4b4b4{
Te6edf3discover_interfacesTff7b72: Tff7b72trueTb4b4b4,
Te6edf3autoconnect_discovered_interfacesTff7b72: T79c0ff3Tb4b4b4,
Te6edf3default_bootstrap_onlyTff7b72: Tff7b72falseTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff`Ta5d6ff/api/v1/reticulum/discoveryTa5d6ff`Tb4b4b4, Te6edf3payloadTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3defaultBootstrapOnly Tff7b72= Tff7b72falseTb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.discovery_enabled"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3connectionMode Tff7b72= Ta5d6ff"discovery"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff4Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapListSearch Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapDiscoveredSectionOpen Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapCommunitySectionOpen Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadCommunityInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3loadDiscoveredInterfacesTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3maybeAutoPickBootstrapTcpTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to enable discovery:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.failed_enable_discovery"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3savingDiscovery Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3useLocalModeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3addingLocalTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3addingLocal Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/reticulum/interfaces/add"Tb4b4b4, Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"Local Network"Tb4b4b4,
Te6edf3typeTff7b72: Ta5d6ff"AutoInterface"Tb4b4b4,
Te6edf3enabledTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3interfaceAddedViaTutorial Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3hasPendingInterfaceChanges Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3modifiedInterfaceNamesTb4b4b4.Te6edf3addTb4b4b4(Ta5d6ff"Local Network"Tb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.local_added"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3reloaded Tff7b72= Tff7b72await Tff7b72thisTb4b4b4.Te6edf3reloadReticulumTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3reloadedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3connectionMode Tff7b72= Ta5d6ff"local"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff5Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to add AutoInterface:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.failed_add_local"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3addingLocal Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3useManualModeTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3connectionMode Tff7b72= Ta5d6ff"manual"Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff5Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3isBootstrapSelectedTb4b4b4(Te6edf3keyTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72thisTb4b4b4.Te6edf3selectedBootstrapKeysTb4b4b4.Te6edf3includesTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3toggleBootstrapTb4b4b4(Te6edf3keyTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3idx Tff7b72= Tff7b72thisTb4b4b4.Te6edf3selectedBootstrapKeysTb4b4b4.Te6edf3indexOfTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3idx Tff7b72>= T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3selectedBootstrapKeysTb4b4b4.Te6edf3spliceTb4b4b4(Te6edf3idxTb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3selectedBootstrapKeysTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3bootstrapDisplayLabelForKeyTb4b4b4(Te6edf3keyTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3keyTb4b4b4) Tb4b4b4{
Tff7b72return Ta5d6ff""Tb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3keyTb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"comm:"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3name Tff7b72= Te6edf3keyTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff5Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3iface Tff7b72= Tff7b72thisTb4b4b4.Te6edf3communityInterfacesTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3cTb4b4b4) Tb4b4b4=> Te6edf3cTb4b4b4.Te6edf3name Tff7b72=== Te6edf3nameTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3ifaceTff7b72?Tb4b4b4.Te6edf3name Tff7b72|| Te6edf3nameTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3keyTb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"disc:"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3suffix Tff7b72= Te6edf3keyTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff5Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3iface Tff7b72= Tff7b72thisTb4b4b4.Te6edf3discoveredInterfacesTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3dTb4b4b4) Tb4b4b4=> Tffa657StringTb4b4b4(Te6edf3dTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3dTb4b4b4.Te6edf3nameTb4b4b4) Tff7b72=== Te6edf3suffixTb4b4b4)Tb4b4b4;
Tff7b72return Te6edf3ifaceTff7b72?Tb4b4b4.Te6edf3name Tff7b72|| Te6edf3suffixTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3keyTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3communityBootstrapExcludedFromRandomTb4b4b4(Te6edf3ifaceTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3name Tff7b72= Tffa657StringTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3name Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3desc Tff7b72= Tffa657StringTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3description Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3host Tff7b72= Tffa657StringTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3target_host Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3hay Tff7b72= Ta5d6ff`Tffd700${Te6edf3nameTffd700}Ta5d6ff Tffd700${Te6edf3descTffd700}Ta5d6ff`Tb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3hayTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"yggdrasil"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Ta5d6ff/\bygg\b/Tb4b4b4.Te6edf3testTb4b4b4(Te6edf3hayTb4b4b4) Tff7b72|| Te6edf3hayTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"-ygg"Tb4b4b4) Tff7b72|| Te6edf3hayTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff" ygg"Tb4b4b4) Tff7b72|| Te6edf3hayTb4b4b4.Te6edf3includesTb4b4b4(Ta5d6ff"(ygg"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Ta5d6ff/^(200|201|202|203):[0-9a-f:]+$/iTb4b4b4.Te6edf3testTb4b4b4(Te6edf3hostTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3pickEligibleCommunityTcpBootstrapForRandomTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3out Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3iface Tff7b72of Tff7b72thisTb4b4b4.Te6edf3communityInterfacesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3t Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3typeTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3t Tff7b72!== Ta5d6ff"TCPClientInterface" Tff7b72&& Te6edf3t Tff7b72!== Ta5d6ff"BackboneInterface"Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3host Tff7b72= Tffa657StringTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3target_host Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3port Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3target_portTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3host Tff7b72|| Te6edf3port Tff7b72=== Tff7b72undefined Tff7b72|| Te6edf3port Tff7b72=== Tff7b72null Tff7b72|| Te6edf3port Tff7b72=== Ta5d6ff""Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3communityBootstrapExcludedFromRandomTb4b4b4(Te6edf3ifaceTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Te6edf3outTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{
Te6edf3keyTff7b72: Ta5d6ff`Ta5d6ffcomm:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4,
Te6edf3kindTff7b72: Ta5d6ff"community"Tb4b4b4,
Te6edf3ifaceTb4b4b4,
Te6edf3dedupeTff7b72: Ta5d6ff`Tffd700${Te6edf3hostTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tffd700}Ta5d6ff:Tffd700${Tffa657NumberTb4b4b4(Te6edf3portTb4b4b4)Tffd700}Ta5d6ff`Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3outTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3pickEligibleTcpBootstrapEntriesTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3out Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3iface Tff7b72of Tff7b72thisTb4b4b4.Te6edf3communityInterfacesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3t Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3typeTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3t Tff7b72!== Ta5d6ff"TCPClientInterface" Tff7b72&& Te6edf3t Tff7b72!== Ta5d6ff"BackboneInterface"Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3host Tff7b72= Tffa657StringTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3target_host Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3port Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3target_portTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3host Tff7b72|| Te6edf3port Tff7b72=== Tff7b72undefined Tff7b72|| Te6edf3port Tff7b72=== Tff7b72null Tff7b72|| Te6edf3port Tff7b72=== Ta5d6ff""Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Te6edf3outTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{
Te6edf3keyTff7b72: Ta5d6ff`Ta5d6ffcomm:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4,
Te6edf3kindTff7b72: Ta5d6ff"community"Tb4b4b4,
Te6edf3ifaceTb4b4b4,
Te6edf3dedupeTff7b72: Ta5d6ff`Tffd700${Te6edf3hostTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tffd700}Ta5d6ff:Tffd700${Tffa657NumberTb4b4b4(Te6edf3portTb4b4b4)Tffd700}Ta5d6ff`Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3iface Tff7b72of Tff7b72thisTb4b4b4.Te6edf3discoveredInterfacesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3host Tff7b72= Tffa657StringTb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3reachable_on Tff7b72|| Ta5d6ff""Tb4b4b4)Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3port Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3portTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3host Tff7b72|| Te6edf3port Tff7b72=== Tff7b72undefined Tff7b72|| Te6edf3port Tff7b72=== Tff7b72null Tff7b72|| Te6edf3port Tff7b72=== Ta5d6ff""Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3typ Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3type Tff7b72|| Ta5d6ff""Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3typ Tff7b72&& Te6edf3typ Tff7b72!== Ta5d6ff"BackboneInterface" Tff7b72&& Te6edf3typ Tff7b72!== Ta5d6ff"TCPClientInterface"Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Te6edf3outTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{
Te6edf3keyTff7b72: Ta5d6ff`Ta5d6ffdisc:Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3ifaceTb4b4b4.Te6edf3nameTffd700}Ta5d6ff`Tb4b4b4,
Te6edf3kindTff7b72: Ta5d6ff"discovered"Tb4b4b4,
Te6edf3ifaceTb4b4b4,
Te6edf3dedupeTff7b72: Ta5d6ff`Tffd700${Te6edf3hostTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tffd700}Ta5d6ff:Tffd700${Tffa657NumberTb4b4b4(Te6edf3portTb4b4b4)Tffd700}Ta5d6ff`Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3outTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3dedupeBootstrapEntriesTb4b4b4(Te6edf3entriesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3seen Tff7b72= Tff7b72new Tffa657SetTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3deduped Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3e Tff7b72of Te6edf3entriesTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3seenTb4b4b4.Te6edf3hasTb4b4b4(Te6edf3eTb4b4b4.Te6edf3dedupeTb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72continueTb4b4b4;
Tb4b4b4}
Te6edf3seenTb4b4b4.Te6edf3addTb4b4b4(Te6edf3eTb4b4b4.Te6edf3dedupeTb4b4b4)Tb4b4b4;
Te6edf3dedupedTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3dedupedTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3shuffleArrayInPlaceTb4b4b4(Te6edf3arrTb4b4b4) Tb4b4b4{
Tff7b72for Tb4b4b4(Tff7b72let Te6edf3i Tff7b72= Te6edf3arrTb4b4b4.Te6edf3length Tff7b72- T79c0ff1Tb4b4b4; Te6edf3i Tff7b72> T79c0ff0Tb4b4b4; Te6edf3iTff7b72--Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3j Tff7b72= Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Tffa657MathTb4b4b4.Te6edf3randomTb4b4b4(Tb4b4b4) Tff7b72* Tb4b4b4(Te6edf3i Tff7b72+ T79c0ff1Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4[Te6edf3arrTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4, Te6edf3arrTb4b4b4[Te6edf3jTb4b4b4]Tb4b4b4] Tff7b72= Tb4b4b4[Te6edf3arrTb4b4b4[Te6edf3jTb4b4b4]Tb4b4b4, Te6edf3arrTb4b4b4[Te6edf3iTb4b4b4]Tb4b4b4]Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3pickRandomTcpBootstrapsTb4b4b4(Te6edf3options Tff7b72= Tb4b4b4{Tb4b4b4}Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3silent Tff7b72= Te6edf3optionsTb4b4b4.Te6edf3silent Tff7b72=== Tff7b72trueTb4b4b4;
Tff7b72const Te6edf3auto Tff7b72= Te6edf3optionsTb4b4b4.Te6edf3auto Tff7b72=== Tff7b72trueTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3silent Tff7b72&& Tff7b72!Te6edf3autoTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3pickingRandomBootstraps Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}
Tff7b72await Tffa657PromiseTb4b4b4.Te6edf3resolveTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72await Tff7b72new Tffa657PromiseTb4b4b4(Tb4b4b4(Te6edf3resolveTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3requestAnimationFrame Tff7b72!== Ta5d6ff"undefined"Tb4b4b4) Tb4b4b4{
Te6edf3requestAnimationFrameTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Te6edf3resolveTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3setTimeoutTb4b4b4(Te6edf3resolveTb4b4b4, T79c0ff0Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72let Te6edf3entries Tff7b72= Tff7b72thisTb4b4b4.Te6edf3pickEligibleCommunityTcpBootstrapForRandomTb4b4b4(Tb4b4b4)Tb4b4b4;
Te6edf3entries Tff7b72= Tff7b72thisTb4b4b4.Te6edf3dedupeBootstrapEntriesTb4b4b4(Te6edf3entriesTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3entriesTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3silent Tff7b72&& Tff7b72!Te6edf3autoTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_pick_random_none"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3shuffleArrayInPlaceTb4b4b4(Te6edf3entriesTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3wanted Tff7b72= Tffa657NumberTb4b4b4.Tffa657isFiniteTb4b4b4(Te6edf3optionsTb4b4b4.Te6edf3countTb4b4b4) Tff7b72? Tffa657NumberTb4b4b4(Te6edf3optionsTb4b4b4.Te6edf3countTb4b4b4) Tff7b72: T79c0ff3Tb4b4b4;
Tff7b72const Te6edf3take Tff7b72= Tffa657MathTb4b4b4.Te6edf3minTb4b4b4(Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff1Tb4b4b4, Te6edf3wantedTb4b4b4)Tb4b4b4, Te6edf3entriesTb4b4b4.Te6edf3lengthTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3selectedBootstrapKeys Tff7b72= Te6edf3entriesTb4b4b4.Te6edf3sliceTb4b4b4(T79c0ff0Tb4b4b4, Te6edf3takeTb4b4b4)Tb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4=> Te6edf3eTb4b4b4.Te6edf3keyTb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3labels Tff7b72= Tff7b72thisTb4b4b4.Te6edf3selectedBootstrapKeysTb4b4b4.Te6edf3mapTb4b4b4(Tb4b4b4(Te6edf3kTb4b4b4) Tb4b4b4=> Tff7b72thisTb4b4b4.Te6edf3bootstrapDisplayLabelForKeyTb4b4b4(Te6edf3kTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3silent Tff7b72&& Tff7b72!Te6edf3autoTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(
Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_pick_random_done"Tb4b4b4, Tb4b4b4{
Te6edf3countTff7b72: Te6edf3takeTb4b4b4,
Te6edf3namesTff7b72: Te6edf3labelsTb4b4b4.Te6edf3joinTb4b4b4(Ta5d6ff", "Tb4b4b4)Tb4b4b4,
Tb4b4b4}Tb4b4b4)
Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3silent Tff7b72&& Tff7b72!Te6edf3autoTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3pickingRandomBootstraps Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3maybeAutoPickBootstrapTcpTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3bootstrapAutoPickDoneTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72!== T79c0ff4 Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3connectionMode Tff7b72!== Ta5d6ff"discovery"Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3selectedBootstrapKeysTb4b4b4.Te6edf3length Tff7b72> T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3entries Tff7b72= Tff7b72thisTb4b4b4.Te6edf3dedupeBootstrapEntriesTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3pickEligibleCommunityTcpBootstrapForRandomTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3entriesTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3pickRandomTcpBootstrapsTb4b4b4(Tb4b4b4{ Te6edf3silentTff7b72: Tff7b72trueTb4b4b4, Te6edf3autoTff7b72: Tff7b72true Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapAutoPickDone Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3buildBootstrapPayloadTb4b4b4(Te6edf3itemTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3itemTb4b4b4.Te6edf3kind Tff7b72=== Ta5d6ff"discovered"Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3iface Tff7b72= Te6edf3itemTb4b4b4.Te6edf3ifaceTb4b4b4;
Tff7b72const Te6edf3payload Tff7b72= Tb4b4b4{
Te6edf3nameTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3name Tff7b72|| Ta5d6ff`Ta5d6ffDiscovered Tffd700${Te6edf3ifaceTb4b4b4.Te6edf3discovery_hash Tff7b72|| Ta5d6ff""Tffd700}Ta5d6ff`Tb4b4b4.Te6edf3trimTb4b4b4(Tb4b4b4)Tb4b4b4,
Te6edf3typeTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3type Tff7b72=== Ta5d6ff"BackboneInterface" Tff7b72? Ta5d6ff"TCPClientInterface" Tff7b72: Te6edf3ifaceTb4b4b4.Te6edf3typeTb4b4b4,
Te6edf3enabledTff7b72: Tff7b72trueTb4b4b4,
Te6edf3bootstrap_onlyTff7b72: Tff7b72thisTb4b4b4.Te6edf3defaultBootstrapOnly Tff7b72=== Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3reachable_onTb4b4b4) Tb4b4b4{
Te6edf3payloadTb4b4b4.Te6edf3target_host Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3reachable_onTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3portTb4b4b4) Tb4b4b4{
Te6edf3payloadTb4b4b4.Te6edf3target_port Tff7b72= Te6edf3ifaceTb4b4b4.Te6edf3portTb4b4b4;
Tb4b4b4}
Tff7b72return Te6edf3payloadTb4b4b4;
Tb4b4b4}
Tff7b72const Te6edf3iface Tff7b72= Te6edf3itemTb4b4b4.Te6edf3ifaceTb4b4b4;
Tff7b72return Tb4b4b4{
Te6edf3nameTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3nameTb4b4b4,
Te6edf3typeTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3typeTb4b4b4,
Te6edf3target_hostTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3target_hostTb4b4b4,
Te6edf3target_portTff7b72: Te6edf3ifaceTb4b4b4.Te6edf3target_portTb4b4b4,
Te6edf3enabledTff7b72: Tff7b72trueTb4b4b4,
Te6edf3bootstrap_onlyTff7b72: Tff7b72thisTb4b4b4.Te6edf3defaultBootstrapOnly Tff7b72=== Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3parseDiscoveryBoolTb4b4b4(Te6edf3valueTb4b4b4, Te6edf3defaultValue Tff7b72= Tff7b72falseTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3value Tff7b72=== Tff7b72undefined Tff7b72|| Te6edf3value Tff7b72=== Tff7b72null Tff7b72|| Te6edf3value Tff7b72=== Ta5d6ff""Tb4b4b4) Tb4b4b4{
Tff7b72return Te6edf3defaultValueTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72typeof Te6edf3value Tff7b72=== Ta5d6ff"string"Tb4b4b4) Tb4b4b4{
Tff7b72return Tb4b4b4[Ta5d6ff"true"Tb4b4b4, Ta5d6ff"yes"Tb4b4b4, Ta5d6ff"1"Tb4b4b4, Ta5d6ff"y"Tb4b4b4, Ta5d6ff"on"Tb4b4b4]Tb4b4b4.Te6edf3includesTb4b4b4(Te6edf3valueTb4b4b4.Te6edf3toLowerCaseTb4b4b4(Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72return Tffa657BooleanTb4b4b4(Te6edf3valueTb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3loadDiscoveryBootstrapDefaultsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3getTb4b4b4(Ta5d6ff"/api/v1/reticulum/discovery"Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3d Tff7b72= Te6edf3responseTb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3discovery Tff7b72?? Tb4b4b4{Tb4b4b4}Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3defaultBootstrapOnly Tff7b72= Tff7b72thisTb4b4b4.Te6edf3parseDiscoveryBoolTb4b4b4(Te6edf3dTb4b4b4.Te6edf3default_bootstrap_onlyTb4b4b4, Tff7b72falseTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3defaultBootstrapOnly Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3persistDefaultBootstrapOnlyTb4b4b4(Te6edf3valueTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/reticulum/discovery"Tb4b4b4, Tb4b4b4{
Te6edf3default_bootstrap_onlyTff7b72: Te6edf3value Tff7b72=== Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3defaultBootstrapOnly Tff7b72= Te6edf3value Tff7b72=== Tff7b72trueTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to save default_bootstrap_only:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.failed_save_bootstrap_only"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3defaultBootstrapOnly Tff7b72= Tff7b72!Te6edf3valueTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3confirmBootstrapsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3addingBootstrapsTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3selectedBootstrapKeysTb4b4b4.Te6edf3length Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_pick_at_least_one"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3addingBootstraps Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72const Te6edf3items Tff7b72= Tb4b4b4[Tb4b4b4]Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3key Tff7b72of Tff7b72thisTb4b4b4.Te6edf3selectedBootstrapKeysTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3addedBootstrapKeysTb4b4b4.Te6edf3includesTb4b4b4(Te6edf3keyTb4b4b4)Tb4b4b4) Tff7b72continueTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3keyTb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"comm:"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3iface Tff7b72= Tff7b72thisTb4b4b4.Te6edf3communityInterfacesTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3cTb4b4b4) Tb4b4b4=> Ta5d6ff`Ta5d6ffcomm:Tffd700${Te6edf3cTb4b4b4.Te6edf3nameTffd700}Ta5d6ff` Tff7b72=== Te6edf3keyTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ifaceTb4b4b4) Te6edf3itemsTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{ Te6edf3keyTb4b4b4, Te6edf3kindTff7b72: Ta5d6ff"community"Tb4b4b4, Te6edf3iface Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72else Tff7b72if Tb4b4b4(Te6edf3keyTb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"disc:"Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3iface Tff7b72= Tff7b72thisTb4b4b4.Te6edf3discoveredInterfacesTb4b4b4.Te6edf3findTb4b4b4(Tb4b4b4(Te6edf3dTb4b4b4) Tb4b4b4=> Ta5d6ff`Ta5d6ffdisc:Tffd700${Te6edf3dTb4b4b4.Te6edf3discovery_hash Tff7b72|| Te6edf3dTb4b4b4.Te6edf3nameTffd700}Ta5d6ff` Tff7b72=== Te6edf3keyTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3ifaceTb4b4b4) Te6edf3itemsTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{ Te6edf3keyTb4b4b4, Te6edf3kindTff7b72: Ta5d6ff"discovered"Tb4b4b4, Te6edf3iface Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72let Te6edf3added Tff7b72= T79c0ff0Tb4b4b4;
Tff7b72for Tb4b4b4(Tff7b72const Te6edf3item Tff7b72of Te6edf3itemsTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3payload Tff7b72= Tff7b72thisTb4b4b4.Te6edf3buildBootstrapPayloadTb4b4b4(Te6edf3itemTb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3payloadTb4b4b4.Te6edf3target_hostTb4b4b4) Tff7b72continueTb4b4b4;
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/reticulum/interfaces/add"Tb4b4b4, Te6edf3payloadTb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3addedBootstrapKeysTb4b4b4.Te6edf3pushTb4b4b4(Te6edf3itemTb4b4b4.Te6edf3keyTb4b4b4)Tb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3hasPendingInterfaceChanges Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3GlobalStateTb4b4b4.Te6edf3modifiedInterfaceNamesTb4b4b4.Te6edf3addTb4b4b4(Te6edf3payloadTb4b4b4.Te6edf3nameTb4b4b4)Tb4b4b4;
Te6edf3added Tff7b72+= T79c0ff1Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to add bootstrap interface:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.failed_add_bootstrap"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3added Tff7b72=== T79c0ff0Tb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.failed_add_bootstrap_none"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3addingBootstraps Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3interfaceAddedViaTutorial Tff7b72= Tff7b72trueTb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_added"Tb4b4b4, Tb4b4b4{ Te6edf3countTff7b72: Te6edf3added Tb4b4b4}Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72const Te6edf3reloaded Tff7b72= Tff7b72await Tff7b72thisTb4b4b4.Te6edf3reloadReticulumTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3addingBootstraps Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3reloadedTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff5Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3skipBootstrapsTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff5Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3enableAutoPropagationTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3savingPropagation Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3patchTb4b4b4(Ta5d6ff"/api/v1/config"Tb4b4b4, Tb4b4b4{
Te6edf3lxmf_preferred_propagation_node_auto_selectTff7b72: Tff7b72trueTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4) Tb4b4b4{
Te6edf3GlobalStateTb4b4b4.Te6edf3configTb4b4b4.Te6edf3lxmf_preferred_propagation_node_auto_select Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.auto_propagation_enabled"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3nextStepTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to enable auto-propagation:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.failed_enable_propagation"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3savingPropagation Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3getDiscoveryIconTb4b4b4(Te6edf3ifaceTb4b4b4) Tb4b4b4{
Tff7b72switch Tb4b4b4(Te6edf3ifaceTb4b4b4.Te6edf3typeTb4b4b4) Tb4b4b4{
Tff7b72case Ta5d6ff"AutoInterface"Tff7b72:
Tff7b72return Ta5d6ff"home-automation"Tb4b4b4;
Tff7b72case Ta5d6ff"RNodeInterface"Tff7b72:
Tff7b72return Te6edf3ifaceTb4b4b4.Te6edf3port Tff7b72&& Te6edf3ifaceTb4b4b4.Te6edf3portTb4b4b4.Te6edf3toStringTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3startsWithTb4b4b4(Ta5d6ff"tcp://"Tb4b4b4) Tff7b72? Ta5d6ff"lan-connect" Tff7b72: Ta5d6ff"radio-tower"Tb4b4b4;
Tff7b72case Ta5d6ff"RNodeMultiInterface"Tff7b72:
Tff7b72return Ta5d6ff"access-point-network"Tb4b4b4;
Tff7b72case Ta5d6ff"TCPClientInterface"Tff7b72:
Tff7b72case Ta5d6ff"BackboneInterface"Tff7b72:
Tff7b72return Ta5d6ff"lan-connect"Tb4b4b4;
Tff7b72case Ta5d6ff"TCPServerInterface"Tff7b72:
Tff7b72return Ta5d6ff"lan"Tb4b4b4;
Tff7b72case Ta5d6ff"UDPInterface"Tff7b72:
Tff7b72return Ta5d6ff"wan"Tb4b4b4;
Tff7b72case Ta5d6ff"SerialInterface"Tff7b72:
Tff7b72return Ta5d6ff"usb-port"Tb4b4b4;
Tff7b72case Ta5d6ff"KISSInterface"Tff7b72:
Tff7b72case Ta5d6ff"AX25KISSInterface"Tff7b72:
Tff7b72return Ta5d6ff"antenna"Tb4b4b4;
Tff7b72case Ta5d6ff"I2PInterface"Tff7b72:
Tff7b72return Ta5d6ff"eye"Tb4b4b4;
Tff7b72case Ta5d6ff"PipeInterface"Tff7b72:
Tff7b72return Ta5d6ff"pipe"Tb4b4b4;
Tff7b72defaultTff7b72:
Tff7b72return Ta5d6ff"server-network"Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3formatLastHeardTb4b4b4(Te6edf3tsTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3seconds Tff7b72= Tffa657MathTb4b4b4.Te6edf3maxTb4b4b4(T79c0ff0Tb4b4b4, Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Tffa657DateTb4b4b4.Te6edf3nowTb4b4b4(Tb4b4b4) Tff7b72/ T79c0ff1000 Tff7b72- Te6edf3tsTb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3seconds Tff7b72< T79c0ff60Tb4b4b4) Tff7b72return Ta5d6ff`Tffd700${Te6edf3secondsTffd700}Ta5d6ffs agoTa5d6ff`Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3seconds Tff7b72< T79c0ff3600Tb4b4b4) Tff7b72return Ta5d6ff`Tffd700${Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3seconds Tff7b72/ T79c0ff60Tb4b4b4)Tffd700}Ta5d6ffm agoTa5d6ff`Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3seconds Tff7b72< T79c0ff86400Tb4b4b4) Tff7b72return Ta5d6ff`Tffd700${Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3seconds Tff7b72/ T79c0ff3600Tb4b4b4)Tffd700}Ta5d6ffh agoTa5d6ff`Tb4b4b4;
Tff7b72return Ta5d6ff`Tffd700${Tffa657MathTb4b4b4.Te6edf3floorTb4b4b4(Te6edf3seconds Tff7b72/ T79c0ff86400Tb4b4b4)Tffd700}Ta5d6ffd agoTa5d6ff`Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3copyToClipboardTb4b4b4(Te6edf3textTb4b4b4, Te6edf3labelTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3textTb4b4b4) Tff7b72returnTb4b4b4;
Te6edf3navigatorTb4b4b4.Te6edf3clipboardTb4b4b4.Te6edf3writeTextTb4b4b4(Te6edf3textTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Ta5d6ff`Tffd700${Te6edf3labelTffd700}Ta5d6ff copied to clipboardTa5d6ff`Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3mapAllDiscoveredTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3isPageTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{
Te6edf3nameTff7b72: Ta5d6ff"map"Tb4b4b4,
Te6edf3queryTff7b72: Tb4b4b4{ Te6edf3viewTff7b72: Ta5d6ff"discovered" Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3gotoAddInterfaceTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72void Tff7b72thisTb4b4b4.Te6edf3closeWithPendingImportGuardTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3thenTb4b4b4(Tb4b4b4(Te6edf3closedTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3closedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{ Te6edf3pathTff7b72: Ta5d6ff"/interfaces/add" Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3gotoRouteTb4b4b4(Te6edf3routeNameTb4b4b4) Tb4b4b4{
Tff7b72void Tff7b72thisTb4b4b4.Te6edf3closeWithPendingImportGuardTb4b4b4(Tb4b4b4)Tb4b4b4.Te6edf3thenTb4b4b4(Tb4b4b4(Te6edf3closedTb4b4b4) Tb4b4b4=> Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3closedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3$routerTb4b4b4.Te6edf3pushTb4b4b4(Tb4b4b4{ Te6edf3nameTff7b72: Te6edf3routeName Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3closeWithPendingImportGuardTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72&& Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72!== Tff7b72thisTb4b4b4.Te6edf3originalIdentityHashTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3activate Tff7b72= Tff7b72await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import_pending_activate"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3activateTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3activated Tff7b72= Tff7b72await Tff7b72thisTb4b4b4.Te6edf3activateImportedIdentityTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3activatedTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import_pending_kept"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3isPageTb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3handlePrimaryActionTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72=== T79c0ff2Tb4b4b4) Tb4b4b4{
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3handleIdentityContinueTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3nextStepTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Te6edf3nextStepTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72>= Tff7b72thisTb4b4b4.Te6edf3totalStepsTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72=== T79c0ff3Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3connectionModeTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.connect_mode_required"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3connectionMode Tff7b72!== Ta5d6ff"discovery"Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff5Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72=== T79c0ff4Tb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.bootstrap_pick_at_least_one"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3currentStepTff7b72++Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72=== T79c0ff4Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3bootstrapListSearch Tff7b72= Ta5d6ff""Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapDiscoveredSectionOpen Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3bootstrapCommunitySectionOpen Tff7b72= Tff7b72trueTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Te6edf3previousStepTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72<= T79c0ff1Tb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72=== T79c0ff5 Tff7b72&& Tff7b72thisTb4b4b4.Te6edf3connectionMode Tff7b72!== Ta5d6ff"discovery"Tb4b4b4) Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3currentStep Tff7b72= T79c0ff3Tb4b4b4;
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3currentStepTff7b72--Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3skipTutorialTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tb4b4b4(Tff7b72await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.skip_confirm"Tb4b4b4)Tb4b4b4)Tb4b4b4)Tb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72&& Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72!== Tff7b72thisTb4b4b4.Te6edf3originalIdentityHashTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3activate Tff7b72= Tff7b72await Te6edf3DialogUtilsTb4b4b4.Te6edf3confirmTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import_pending_activate"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Te6edf3activateTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3activated Tff7b72= Tff7b72await Tff7b72thisTb4b4b4.Te6edf3activateImportedIdentityTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3activatedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72else Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import_pending_kept"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3markSeenTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3markSeenTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3markingSeenTb4b4b4) Tff7b72returnTb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3markingSeen Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/app/tutorial/seen"Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to mark tutorial as seen:"Tb4b4b4, Te6edf3eTb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3markingSeen Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3activateImportedIdentityTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Tff7b72thisTb4b4b4.Te6edf3identityImportedHashTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72=== Tff7b72thisTb4b4b4.Te6edf3originalIdentityHashTb4b4b4) Tb4b4b4{
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4}
Tff7b72try Tb4b4b4{
Tff7b72const Te6edf3response Tff7b72= Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Te6edf3postTb4b4b4(Ta5d6ff"/api/v1/identities/switch"Tb4b4b4, Tb4b4b4{
Te6edf3identity_hashTff7b72: Tff7b72thisTb4b4b4.Te6edf3identityImportedHashTb4b4b4,
Tb4b4b4}Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3originalIdentityHashTb4b4b4) Tb4b4b4{
Tff7b72try Tb4b4b4{
Tff7b72await Tffa657windowTb4b4b4.Te6edf3apiTb4b4b4.Tff7b72deleteTb4b4b4(Ta5d6ff`Ta5d6ff/api/v1/identities/Tffd700${Tff7b72thisTb4b4b4.Te6edf3originalIdentityHashTffd700}Ta5d6ff`Tb4b4b4)Tb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3deleteErrorTb4b4b4) Tb4b4b4{
Te6edf3consoleTb4b4b4.Te6edf3errorTb4b4b4(Ta5d6ff"Failed to delete default identity after import:"Tb4b4b4, Te6edf3deleteErrorTb4b4b4)Tb4b4b4;
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_default_delete_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3hotswapped Tff7b72=== Tff7b72falseTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3infoTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"identities.switch_scheduled"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Te6edf3setTimeoutTb4b4b4(Tb4b4b4(Tb4b4b4) Tb4b4b4=> Tb4b4b4{
Tffa657windowTb4b4b4.Te6edf3locationTb4b4b4.Te6edf3reloadTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}Tb4b4b4, T79c0ff1500Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72= Tff7b72nullTb4b4b4;
Tff7b72return Tff7b72trueTb4b4b4;
Tb4b4b4} Tff7b72catch Tb4b4b4(Te6edf3eTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3errorTb4b4b4(Te6edf3eTb4b4b4.Te6edf3responseTff7b72?Tb4b4b4.Te6edf3dataTff7b72?Tb4b4b4.Te6edf3message Tff7b72|| Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_switch_failed"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tff7b72return Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3finishTutorialTb4b4b4(Tb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3finishingTutorialTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3finishingTutorial Tff7b72= Tff7b72trueTb4b4b4;
Tff7b72try Tb4b4b4{
Tff7b72if Tb4b4b4(Te6edf3GlobalStateTb4b4b4.Te6edf3hasPendingInterfaceChangesTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3reloaded Tff7b72= Tff7b72await Tff7b72thisTb4b4b4.Te6edf3reloadReticulumTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3reloadedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72&& Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72!== Tff7b72thisTb4b4b4.Te6edf3originalIdentityHashTb4b4b4) Tb4b4b4{
Tff7b72const Te6edf3activated Tff7b72= Tff7b72await Tff7b72thisTb4b4b4.Te6edf3activateImportedIdentityTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3activatedTb4b4b4) Tb4b4b4{
Tff7b72returnTb4b4b4;
Tb4b4b4}
Tb4b4b4}
Tff7b72await Tff7b72thisTb4b4b4.Te6edf3markSeenTb4b4b4(Tb4b4b4)Tb4b4b4;
Tff7b72thisTb4b4b4.Te6edf3visible Tff7b72= Tff7b72falseTb4b4b4;
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3interfaceAddedViaTutorialTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3successTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.ready_finished"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4} Tff7b72finally Tb4b4b4{
Tff7b72thisTb4b4b4.Te6edf3finishingTutorial Tff7b72= Tff7b72falseTb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tff7b72async Te6edf3onVisibleUpdateTb4b4b4(Te6edf3valTb4b4b4) Tb4b4b4{
Tff7b72if Tb4b4b4(Tff7b72!Te6edf3valTb4b4b4) Tb4b4b4{
T8b949e// Closing without finish still marks seen, but warn if import was pending.
Tff7b72if Tb4b4b4(Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72&& Tff7b72thisTb4b4b4.Te6edf3identityImportedHash Tff7b72!== Tff7b72thisTb4b4b4.Te6edf3originalIdentityHashTb4b4b4) Tb4b4b4{
Te6edf3ToastUtilsTb4b4b4.Te6edf3warningTb4b4b4(Tff7b72thisTb4b4b4.Te6edf3$tTb4b4b4(Ta5d6ff"tutorial.identity_import_pending_kept"Tb4b4b4)Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tff7b72thisTb4b4b4.Te6edf3markSeenTb4b4b4(Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4,
Tb4b4b4}Tb4b4b4;
Tb4b4b4<Tb4b4b4/Tff7b72scriptTb4b4b4>

Tb4b4b4<Tff7b72style Te6edf3scopedTb4b4b4>
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-fieldTff7b72) Tb4b4b4{
Tff7b72border-radiusTb4b4b4: T79c0ff1Tffa657rem Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-field--variant-outlined Tb4b4b4.T56d364v-field__outlineTff7b72) Tb4b4b4{
Te6edf3--v-field-border-opacityTb4b4b4: T79c0ff0.15Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-field--focused Tb4b4b4.T56d364v-field__outlineTff7b72) Tb4b4b4{
Te6edf3--v-field-border-opacityTb4b4b4: T79c0ff1Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-field__inputTff7b72) Tb4b4b4{
Tff7b72padding-topTb4b4b4: T79c0ff24Tffa657px Tff7b72!importantTb4b4b4;
Tff7b72padding-bottomTb4b4b4: T79c0ff8Tffa657px Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-labelTb4b4b4.T56d364v-field-label--floatingTff7b72) Tb4b4b4{
Tff7b72transformTb4b4b4: Tffa657translateYTb4b4b4(T79c0ff-8Tffa657pxTb4b4b4) Tffa657scaleTb4b4b4(T79c0ff0.75Tb4b4b4) Tff7b72!importantTb4b4b4;
Tff7b72font-weightTb4b4b4: T79c0ff800 Tff7b72!importantTb4b4b4;
Tff7b72text-transformTb4b4b4: Tff7b72uppercase Tff7b72!importantTb4b4b4;
Tff7b72letter-spacingTb4b4b4: T79c0ff0.05Tffa657em Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-select Tb4b4b4.T56d364v-theme--lightTff7b72)Tff7b72,
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-listTff7b72)Tff7b72,
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-list-itemTff7b72) Tb4b4b4{
Tff7b72background-colorTb4b4b4: Tff7b72white Tff7b72!importantTb4b4b4;
Tff7b72colorTb4b4b4: T79c0ff#111827 Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-list-item-titleTff7b72)Tff7b72,
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-list-item-subtitleTff7b72) Tb4b4b4{
Tff7b72colorTb4b4b4: Tff7b72inherit Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364dark Tb4b4b4.T56d364v-listTff7b72)Tff7b72,
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364dark Tb4b4b4.T56d364v-list-itemTff7b72) Tb4b4b4{
Tff7b72background-colorTb4b4b4: T79c0ff#18181b Tff7b72!importantTb4b4b4;
Tff7b72colorTb4b4b4: Tff7b72white Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-field__inputTff7b72) Tb4b4b4{
Tff7b72colorTb4b4b4: Tff7b72inherit Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364v-labelTb4b4b4.T56d364v-field-labelTff7b72) Tb4b4b4{
Tff7b72colorTb4b4b4: T79c0ff#6b7280 Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364dark Tb4b4b4.T56d364v-labelTb4b4b4.T56d364v-field-labelTff7b72) Tb4b4b4{
Tff7b72colorTb4b4b4: T79c0ff#a1a1aa Tff7b72!importantTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4.T56d364v-overlay__content Tb4b4b4{
Tff7b72border-radiusTb4b4b4: T79c0ff2Tffa657rem Tff7b72!importantTb4b4b4;
Tff7b72overflowTb4b4b4: Tff7b72hiddenTb4b4b4;
Tb4b4b4}

Tb4b4b4@Tff7b72media Tff7b72(Tff7b72max-widthTff7b72: Tff7b72767pxTff7b72) Tb4b4b4{
Tb4b4b4.T56d364tutorial-dialog Tb4b4b4.T56d364v-overlay__content Tb4b4b4{
Tff7b72border-radiusTb4b4b4: T79c0ff0 Tff7b72!importantTb4b4b4;
Tff7b72max-heightTb4b4b4: T79c0ff100Te6edf3dvh Tff7b72!importantTb4b4b4;
Tff7b72marginTb4b4b4: T79c0ff0 Tff7b72!importantTb4b4b4;
Tff7b72widthTb4b4b4: T79c0ff100Tffa657% Tff7b72!importantTb4b4b4;
Tb4b4b4}
Tb4b4b4}

Tb4b4b4.T56d364fade-slide-enter-activeTff7b72,
Tb4b4b4.T56d364fade-slide-leave-active Tb4b4b4{
Tff7b72transitionTb4b4b4: Tff7b72all T79c0ff0.4Tffa657s Tffa657cubic-bezierTb4b4b4(T79c0ff0.4Tb4b4b4, T79c0ff0Tb4b4b4, T79c0ff0.2Tb4b4b4, T79c0ff1Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364fade-slide-enter-from Tb4b4b4{
Tff7b72opacityTb4b4b4: T79c0ff0Tb4b4b4;
Tff7b72transformTb4b4b4: Tffa657translateXTb4b4b4(T79c0ff30Tffa657pxTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364fade-slide-leave-to Tb4b4b4{
Tff7b72opacityTb4b4b4: T79c0ff0Tb4b4b4;
Tff7b72transformTb4b4b4: Tffa657translateXTb4b4b4(T79c0ff-30Tffa657pxTb4b4b4)Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-action-btn Tb4b4b4{
Tff7b72min-heightTb4b4b4: T79c0ff2.75Tffa657remTb4b4b4;
Tff7b72paddingTb4b4b4: T79c0ff0.625Tffa657rem T79c0ff1Tffa657remTb4b4b4;
Tff7b72border-radiusTb4b4b4: T79c0ff0.75Tffa657remTb4b4b4;
Tff7b72font-sizeTb4b4b4: T79c0ff0.875Tffa657remTb4b4b4;
Tff7b72font-weightTb4b4b4: T79c0ff700Tb4b4b4;
Tff7b72line-heightTb4b4b4: T79c0ff1.1Tb4b4b4;
Tff7b72displayTb4b4b4: Tff7b72inline-flexTb4b4b4;
Tff7b72align-itemsTb4b4b4: Tff7b72centerTb4b4b4;
Tff7b72justify-contentTb4b4b4: Tff7b72centerTb4b4b4;
Tff7b72gapTb4b4b4: T79c0ff0.5Tffa657remTb4b4b4;
Tff7b72transitionTb4b4b4: Tff7b72all T79c0ff0.15Tffa657s Tff7b72easeTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-action-btnTb4b4b4:Tf0883edisabled Tb4b4b4{
Tff7b72opacityTb4b4b4: T79c0ff0.6Tb4b4b4;
Tff7b72cursorTb4b4b4: Tff7b72not-allowedTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-action-btn-primary Tb4b4b4{
Tff7b72backgroundTb4b4b4: Tffa657rgbTb4b4b4(T79c0ff37 T79c0ff99 T79c0ff235Tb4b4b4)Tb4b4b4;
Tff7b72colorTb4b4b4: Tff7b72whiteTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-action-btn-primaryTb4b4b4:Tf0883ehoverTb4b4b4:Tf0883enotTff7b72(Tb4b4b4:Tf0883edisabledTff7b72) Tb4b4b4{
Tff7b72backgroundTb4b4b4: Tffa657rgbTb4b4b4(T79c0ff59 T79c0ff130 T79c0ff246Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-action-btn-secondary Tb4b4b4{
Tff7b72borderTb4b4b4: T79c0ff1Tffa657px Tff7b72solid Tffa657rgbTb4b4b4(T79c0ff209 T79c0ff213 T79c0ff219Tb4b4b4)Tb4b4b4;
Tff7b72backgroundTb4b4b4: Tff7b72whiteTb4b4b4;
Tff7b72colorTb4b4b4: Tffa657rgbTb4b4b4(T79c0ff55 T79c0ff65 T79c0ff81Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-action-btn-secondaryTb4b4b4:Tf0883ehoverTb4b4b4:Tf0883enotTff7b72(Tb4b4b4:Tf0883edisabledTff7b72) Tb4b4b4{
Tff7b72backgroundTb4b4b4: Tffa657rgbTb4b4b4(T79c0ff249 T79c0ff250 T79c0ff251Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-action-btn-success Tb4b4b4{
Tff7b72backgroundTb4b4b4: Tffa657rgbTb4b4b4(T79c0ff5 T79c0ff150 T79c0ff105Tb4b4b4)Tb4b4b4;
Tff7b72colorTb4b4b4: Tff7b72whiteTb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-action-btn-successTb4b4b4:Tf0883ehoverTb4b4b4:Tf0883enotTff7b72(Tb4b4b4:Tf0883edisabledTff7b72) Tb4b4b4{
Tff7b72backgroundTb4b4b4: Tffa657rgbTb4b4b4(T79c0ff16 T79c0ff185 T79c0ff129Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364darkTff7b72) Tb4b4b4.T56d364tutorial-action-btn-secondaryTff7b72,
Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364darkTff7b72) Tb4b4b4.T56d364tutorial-action-btn-secondary Tb4b4b4{
Tff7b72border-colorTb4b4b4: Tffa657rgbTb4b4b4(T79c0ff63 T79c0ff63 T79c0ff70Tb4b4b4)Tb4b4b4;
Tff7b72backgroundTb4b4b4: Tffa657rgbTb4b4b4(T79c0ff39 T79c0ff39 T79c0ff42Tb4b4b4)Tb4b4b4;
Tff7b72colorTb4b4b4: Tffa657rgbTb4b4b4(T79c0ff212 T79c0ff212 T79c0ff216Tb4b4b4)Tb4b4b4;
Tb4b4b4}

Tb4b4b4.T56d364tutorial-dialog Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364darkTff7b72) Tb4b4b4.T56d364tutorial-action-btn-secondaryTb4b4b4:Tf0883ehoverTb4b4b4:Tf0883enotTff7b72(Tb4b4b4:Tf0883edisabledTff7b72)Tff7b72,
Tb4b4b4:Tf0883edeepTff7b72(Tb4b4b4.T56d364darkTff7b72) Tb4b4b4.T56d364tutorial-action-btn-secondaryTb4b4b4:Tf0883ehoverTb4b4b4:Tf0883enotTff7b72(Tb4b4b4:Tf0883edisabledTff7b72) Tb4b4b4{
Tff7b72backgroundTb4b4b4: Tffa657rgbTb4b4b4(T79c0ff63 T79c0ff63 T79c0ff70Tb4b4b4)Tb4b4b4;
Tb4b4b4}
Tb4b4b4<Tb4b4b4/Tff7b72styleTb4b4b4>


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────